javascript - 如何在页面加载/提交时将复选框设置为默认 false?

标签 javascript html css

我需要让我页面上的所有复选框都默认为 false 值,以便 API 调用将值设为 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">

…但这不提交假或真,它提交假或假和真。如果您使用丢弃具有重复名称的值的表单解析器,这很好,但通常不是一个安全的解决方案。

您可以使用单选按钮而不是复选框作为您的 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 中工作。

关于javascript - 如何在页面加载/提交时将复选框设置为默认 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57162065/

相关文章:

css - Zurb Foundation 6 中可能的砖石网格布局

使用 setTimeout 调用时,Javascript 文字会丢失其变量

javascript - 模拟退格键功能到向上箭头键事件?

Javascript:属性描述符和内置属性属性之间的关系是什么

css - 为什么这 4 个 div 不彼此相邻? (宽度 25%)

jquery - 水平溢出不起作用

javascript - Flask ajax 请求后不要重新加载网页

Javascript:单击后更改按钮文本更改

javascript - 如何在 jQuery 函数中使用列表中选定的值?

javascript - Gtk3/Gnome Shell 主题/扩展开发有哪些好的工具(如果有的话)?