null
;
<p>这是我的html文件:</p>
; <头> <基本目标=“_top”> <风格> ... </风格> </头> <正文> <p>指示器</p> <输入类型=“数字” name=“指示符” id="indic";值=“”分钟=“1”最大值=“32”> <p>普鲁夫</p> <输入类型=“文本”; name=“preuve” id="preuve"> <br> <输入类型=“按钮” value=“Ajouter” onclick=“ajouter()”> <span class=“annuler” onclick=“google.script.host.close()”>Annuler <脚本> 函数 ajouter() { const 输入 = document.querySelectorAll('#indic, #preuve'); 让 tab = [google.script.run.withSuccessHandler(data ==> {alert(“preuve ajoutée”)}).creeID()]; // 价值恢复 for(输入的常量输入){ tab.push(input.value); } // Si tous les champs sont vides if (tab.join('') == '') { Alert('Le Formulaire est Vide!'); 返回; } // 维德·莱斯·冠军 input.forEach(input => input.value = ''); // 煎饼 google.script.run.ajouterLigne(选项卡); } </脚本> </正文> </html></pre> <p>和 JavaScript 代码:</p>function ajouterLigne(tab) { const PREUVES = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“PREUVES”); 控制台.log(选项卡) PREUVES.appendRow(tab); } 函数 creeID() { const SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“PREUVES”); 让lastRow = SHEET.getLastRow(); 让lastIdRange = SHEET.getRange(lastRow, 1); 让lastId = lastIdRange.getValue(); 让新的Id; if (lastId == "ID") { 新ID = 1; } 别的 { 新Id = 最后一个Id + 1; }; 返回(新ID) }</pre></p>
P粉9304480302023-09-06 09:30:00
对于您的脚本,google.script.run.creeID()
不返回任何值。我认为这就是您当前问题的原因。从也许我应该像这里所说的那样使用.withSuccessHandler(),但我不知道如何使用。
,如下使用withSuccessHandler()
怎么样?
在这种情况下,请按如下方式修改 Javascript 的 ajouter()
。
function ajouter() { const inputs = document.querySelectorAll('input[type="text"]'); google.script.run.withSuccessHandler(tab => { tab = [tab]; for (const input of inputs) { tab.push(input.value); } if (tab.join('') == '') { alert('Le formulaire est vide !'); return; } inputs.forEach(input => input.value = ''); google.script.run.ajouterLigne(tab); }).creeID(); }
tab
的值,并将 tab
的值和输入的值附加到电子表格中。李>