Javascript 如何将HTML复选框的值传递给Google Apps脚本? 问题:

Javascript 如何将HTML复选框的值传递给Google Apps脚本? 问题:,javascript,html,checkbox,google-apps-script,google-sheets,Javascript,Html,Checkbox,Google Apps Script,Google Sheets,如何将使用Google HTML服务创建的复选框的值(或状态)从HTML(本例中为侧栏GUI)传递到Code.gs以执行检查 我已经成功地将所有其他数据从这里传递到Code.gs。例如,文本框、日期、文本区域。但是,由于复选框本身没有“值”,我不知道如何传递状态 我的代码: (不是整个脚本,因为它太大了) 在HTHML中: <input id="complete" name="complete" type="checkbox" /> <script type="text/ja

如何将使用Google HTML服务创建的复选框的值(或状态)从HTML(本例中为侧栏GUI)传递到Code.gs以执行检查

我已经成功地将所有其他数据从这里传递到Code.gs。例如,文本框、日期、文本区域。但是,由于复选框本身没有“值”,我不知道如何传递状态

我的代码: (不是整个脚本,因为它太大了)

在HTHML中:

<input id="complete" name="complete" type="checkbox" />

<script type="text/javascript">
  function formSubmit() {
    google.script.run.transferUpdates(document.forms[0]);
  }
</script>
问题: 我的问题是“check”变量从来没有可比较的值,因为HTML表单没有传递任何内容

有人能解决这个问题吗


(我对HTML比较陌生,如果这是一个简单的答案,我深表歉意)

您可以向元素添加事件侦听器并传递值等。如果您想调用函数服务器端,请尝试此方法

代码.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME)
}

function getStuff(foo){
   Logger.log(foo)
}
index.html

<code>
<div>
<div id="mylabel"></div>
<input id="test" value="testing" type="checkbox">
<script>
document.getElementById('test').addEventListener("change", changeit);
function success(){document.getElementById('mylabel').innerHTML = 'success!'}
function changeit(){
  var v = document.getElementById('test').value;
  document.getElementById('mylabel').innerHTML = v;
  google.script.run.withSuccessHandler(success).getStuff("going IN")
}
</script>
</div>

document.getElementById('test')。addEventListener(“更改”,changeit);
函数success(){document.getElementById('mylabel')。innerHTML='success!'}
函数changeit(){
var v=document.getElementById('test')。值;
document.getElementById('mylabel')。innerHTML=v;
google.script.run.withSuccessHandler(成功).getStuff(“进入”)
}

我认为您需要做的就是手动设置复选框:

check = (form1.complete) ? true : false; // false or true depending on checkbox

变量
form1
的值是多少?未定义?无效的[对象]?您可以使用
Logger.log('form1值为:'+form1)将信息打印到日志中声明。下面是一个类似问题的答案:
check = (form1.complete) ? true : false; // false or true depending on checkbox