[英]How to set checkbox to default false on page load/submit?
我需要将页面上的所有复选框都默认设置为false值,以便API调用将值设为false。
我知道我可以在页面加载/提交时选择默认值为false的隐藏复选框,但这似乎不是很整齐的方法。 我想知道是否还有其他人知道更好?
function formCheck(){
var checkBox = document.getElementById('mobKinder');
if (checkBox.checked == true){
document.getElementById("mobkinder") = true;
}else{
document.getElementById("mobKinder") = false;
}
}
我使用的是这段代码,但是因为API仅采用带有已检查输入的复选框。 如果该框为空,但未明确声明为false,则它将保持空白。 我需要某种方式从空支票中提交错误值。
未选中的复选框不是成功的控件,因此根本不要发送任何值。
受PHP用户欢迎的一种技巧是定义一个具有不同值和相同名称的隐藏输入:
<input type="hidden" name="x" value="false">
<input type="checkbox" name="x" value="true">
…但这不会提交false或true,而是提交false或false AND true。 如果您使用一个表单解析器来丢弃具有重复名称的值,但通常不是一个安全的解决方案,那就很好。
您可以使用单选按钮代替复选框作为UI:
<label><input type="radio" name="x" value="false"> Off</label>
<label><input type="radio" name="x" value="true"> On</label>
…但这涉及更改UI。
您可以从复选框中完全删除名称,然后使用JavaScript更改隐藏输入的值…但这引入了对JavaScript的依赖。
好的解决方案是更改API,使其与复选框设计为可在HTML中一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.