Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框违反数据验证规则_Javascript_Validation_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 复选框违反数据验证规则

Javascript 复选框违反数据验证规则,javascript,validation,google-apps-script,google-sheets,Javascript,Validation,Google Apps Script,Google Sheets,我已经使用apps脚本生成了多个复选框(所有复选框都未勾选),所有复选框都使用相同的代码,但其中一些复选框在单击时会弹出一个弹出窗口,表示它们违反了数据验证规则(并且它们仍然未勾选)。我手动检查(在数据验证菜单中),它们都有相同的规则,如果我删除该规则,则不会发生任何更改 var enforceCheckbox=SpreadsheetApp.newDataValidation();enforceCheckbox.requireCheckbox();enforceCheckbox.setAllo

我已经使用apps脚本生成了多个复选框(所有复选框都未勾选),所有复选框都使用相同的代码,但其中一些复选框在单击时会弹出一个弹出窗口,表示它们违反了数据验证规则(并且它们仍然未勾选)。我手动检查(在数据验证菜单中),它们都有相同的规则,如果我删除该规则,则不会发生任何更改


var enforceCheckbox=SpreadsheetApp.newDataValidation();enforceCheckbox.requireCheckbox();enforceCheckbox.setAllowInvalid(false);enforceCheckbox.build();setDataValidation(enforceCheckbox)


在我的脚本中,使用onEdit事件检查它们的所有值,但由于我甚至无法编辑它们的值,我怀疑这是否相关。

结果表明,问题是受影响的单元格格式为纯文本。将格式设置为“自动”解决了此问题

多亏了我发现了通过代码添加复选框的简单方法,遗憾的是,这似乎没有在应用程序脚本参考页面上得到很好的记录

对于其他在这方面遇到困难的初学者,您可以使用以下方法添加复选框:

  range.insertCheckboxes();
  range.insertCheckboxes(checkedValue);
  range.insertCheckboxes(checkedValue, uncheckedValue);
您可以通过以下操作删除复选框:

  range.removeCheckboxes();

为什么不直接使用
range.insertcheckbox()