我正在尝试使用HTMLService来管理简单表单。这是一个原型HTML表单(NATIVE
选项是为了便携性):
form.gs
:
function htmlTest (){
var html = HtmlService.createHtmlOutputFromFile('form');
html.setSandboxMode(HtmlService.SandboxMode.NATIVE);
SpreadsheetApp.getUi().showModalDialog(html, "Sample Form");
}
function cBack (el1, el2){
Browser.msgBox('Data sent');
Logger.log(el1);
Logger.log(el2);
}
form.html
:
Enter field 1: <input name="name1" id='input1'>
<br>
Enter field 2: <input name="name2" id='input2'>
<br>
<input type='button' value='Submit' onclick='fParser()'>
<script>
function fParser() {
var el1=document.getElementById('input1').value;
console.log(el1);
var el2=document.getElementById('input2').value;
console.log(el2);
google.script.run.cBack(el1, el2);
google.script.host.close();
}
</script>
如何有效地调试从提供的HTML触发的回调?
回调无法启动时该怎么办?
我看到有时只是关闭并重新打开文档来解决问题:是否有更有效的方法来重新加载代码?
答案 0 :(得分:1)
我发现在HTML页面中调试所有内容更容易,使用withSuccessHandler取回变量。通过这种方式,您可以继续编辑.gs,单击按钮可以在控制台上获得新结果。
例如
google.script.run.withSuccessHandler(debugging).cBack(el1, el2);
google.script.run.withSuccessHandler(debugging).anotherCallBacl(el);
function debbugging( logs ){
console.log( logs );
}
和.gs:
function cBack (el1, el2){
Browser.msgBox('Data sent');
return "el1 : " + el1 + " - el2: " + el2;
}