我(仍在)正在为我正在开发的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参数。
答案 0 :(得分:1)
从复选框中删除值,否则它将始终为true。
选中是否选中了.checked
属性的复选框,而不是.value
;对于未选中,对于checked和false将返回true。
<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;