Javascript 如何在Google Apps脚本中获取复选框的值

Javascript 如何在Google Apps脚本中获取复选框的值,javascript,html,google-apps-script,Javascript,Html,Google Apps Script,我在GoogleSheet边栏中创建了一个复选框,它有一个带有复选框字段的表单 无论我是否选中复选框,我都会得到“on”值 我需要知道复选框是否被选中 <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> </head> <body>

我在GoogleSheet边栏中创建了一个复选框,它有一个带有复选框字段的表单

无论我是否选中复选框,我都会得到“on”值

我需要知道复选框是否被选中

    <!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>

            <form>
    <div>
    <p>
          <label>
            <input name="item" id="Agree" type="checkbox" class="red"/>
            <span>Agree</span>

          </label>
        </p>
        </div>

            <div class="input-field col s12">

            <button class="btn waves-effect waves-light" type="submit" name="action" id="btn">Generate
        <i class="material-icons right">send</i>
      </button>

        </div>
        </form>

       <script>

                var agreeValue = document.getElementById("Agree")


                document.getElementById("btn").addEventListener("click", addRecord);

                function addRecord() {
                var data = {
                agreeValue               : Agree.value
                };


                google.script.run.appendData(data);
                }





    </script>

  </body>
</html>


同意

生成 发送 var agreeValue=document.getElementById(“Agree”) document.getElementById(“btn”).addEventListener(“单击”,添加记录); 函数addRecord(){ 风险值数据={ agreeValue:Agree.value }; google.script.run.appendData(数据); }
如果您想通过
打开
关闭
来确认复选框,那么按如下方式修改如何

发件人: 致:
  • 通过此修改,当选中和取消选中复选框时,
    数据
    分别变为
    {agreeValue:“on”}
    {agreeValue:“off”}
注:
  • 当使用
    var data={agreeValue:agreeValue.checked}
    时,可以将复选框的值作为布尔值检索

如果我误解了您的问题,并且这不是您想要的结果,我很抱歉。

在HTML文件中输入如下代码。该复选框现在是布尔值

function addRecord() {
                var data = document.getElementsById("agree")[0].checked;

                google.script.run.appendData(data);
}
然后在服务器端脚本中,将
data
参数放置在If语句的条件中,如下所示,因为If语句的条件本质上是一个布尔值,您从html复选框输入中提取该布尔值

if (data) {
   //code to execute if checkbox is checked
} else {
   //code to execute if NOT checked
}

谢谢@Tanaike,感谢您的帮助,我尝试了此更改,但无论我是否选中该框,它仍然只给我“开”作为值。@Gela Ram感谢您的回复。给您带来不便,我深表歉意。不幸的是,我无法复制你的情况。因为在我的环境中,修改后的脚本可以工作。那么,您能否提供当前脚本以复制当前问题?如果可以,请更新您的问题。通过这一点,我想确认您的问题并思考解决方案。如果您能合作解决您的问题,我很高兴。非常感谢您,您是否使用谷歌应用程序脚本编辑器来运行它?@Gela Ram感谢您的回复。我不明白你的回答。我为我糟糕的英语技能道歉。我正在谷歌应用程序脚本编辑器中使用此脚本运行,但它不起作用,所以我想问你,你在哪里运行了你建议的修改?
function addRecord() {
                var data = document.getElementsById("agree")[0].checked;

                google.script.run.appendData(data);
}
if (data) {
   //code to execute if checkbox is checked
} else {
   //code to execute if NOT checked
}