[英]Getting the javascript “document HTML DOM” info within Google Apps Script
[英]JavaScript not changing DOM in my HTML Template after load in Apps Script
我正在嘗試構建一個簡單的儀表板,如果用戶訪問他們的儀表板,它將顯示來自谷歌電子表格的數據。 但是有一個問題我不知道為什么只有我的第一個 div 通過 JavaScript 而不是第二個..
任何幫助和解決方案都會得到解決..
為什么我的第二行定位 div id="load1" 沒有執行???
代碼.gs
`function loadDetails(id){
var ss = SpreadsheetApp.openById("14RM_170AefKbQq82NXAdSOemQLyAGcv_BTwYWd1-qtM")
var ws = ss.getSheetByName("Data")
var data = ws.getDataRange().getValues()
for(var i=0; i<data.length; i++){
var row = data[i]
if(row[0]== id){
password = {
psd: row[1],
id: row[0]
}
}
}
if(row[0]!= id){
password = "not found"
}
return password;
}`
儀表板.HTML
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>Hey this is other Employee Dashboard</h1>
<p>Your Employee Id: = </p>
<p>Your Password : = </P>
<div id="load">
<div>
<div id="load1">
<div>
<script>
window.onload = function(){
var id = "MN00018"
google.script.run.withSuccessHandler(function(output){
document.getElementById("load").innerHTML = `passing objects are ${output.psd} & ${output.id}`
document.getElementById("load1").innerHTML = `passing objects are ${output.id}`
}).loadDetails(id)
}
</script>
</body>
</html>
如果您實際上是在測試您的顯示腳本,我認為有 2 個修改點。
div
的標簽不包含在內。 如何修改如下?
<div id="load">
<div>
<div id="load1">
<div>
<div id="load">
</div>
<div id="load1">
</div>
Why My Second Line Targeting div id="load1" is not executing????
. 在 Google Apps 腳本方面,通過if(row[0]!= id){password = "not found"}
,即使從“A”列中找到id
,也會返回“not found”。 如何修改如下?
function loadDetails(id) {
var ss = SpreadsheetApp.openById("###");
var ws = ss.getSheetByName("Data")
var data = ws.getDataRange().getValues()
var password = {psd: "", id: ""};
for (var i = 0; i < data.length; i++) {
var row = data[i]
if (row[0] == id) {
password = {
psd: row[1],
id: row[0]
}
break;
}
}
return password;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.