Javascript表单的HTML复选框

时间:2018-03-27 18:48:16

标签: javascript checkbox google-apps-script google-sheets

我(仍在)正在为我正在开发的Sheets插件创建侧边栏输入。我目前的挑战是允许将文本框和复选框从表单传递给我的函数。

文本框可以正常传递变量。复选框我不是很清楚。我需要将复选框变为布尔值。

相关的html:

<p>
  <input type="text" id="datepicker">
  </p>
  <p>
  Include pledge?<br>
    <input type="checkbox" name="pledge[]" id="pledgeCheck" value="true">Yes<br>
  </p>
          <p>
            <input type="button" name="createdate" value="Create" onClick="google.script.run.create(document.getElementById('datepicker').value,document.getElementById('pledgeCheck').value)" />
          </p>

function create(datepicker,pledge) {

  //important vars
  var responses = ss.getSheetByName("Form Responses");
  var bulletin = ss.getSheetByName(todayDate);
  var todayDate=datepicker;
  var pledgeCheck=pledge;
  Logger.log(pledgeCheck);
  

目前,承诺反馈为未定义。

解决: 我没有得到的一些东西,也许还有一些我只是被忽视和遗漏。 我在所有合适的地方都没有合适的条款。 @umair在我的html中指出了方法,如下所示。然而,我的js使用了承诺而不是pledgeCheck参数。

1 个答案:

答案 0 :(得分:1)

  1. 从复选框中删除值,否则它将始终为true。

  2. 选中是否选中了.checked属性的复选框,而不是.value;对于未选中,对于checked和false将返回true。

  3. &#13;
    &#13;
    <p>
       <input type="text" id="datepicker">
    </p>
    <p>
       Include pledge?<br>
       <input type="checkbox" name="pledge" id="pledgeCheck">Yes<br>
    </p>
    <p>
       <input type="button" name="createdate" value="Create" onClick="google.script.run.create(document.getElementById('datepicker').value,document.getElementById('pledgeCheck').checked)" />
    </p>
    &#13;
    &#13;
    &#13;