【发布时间】:2016-01-28 15:48:20
【问题描述】:
某人可能希望input[type="checkbox"] 提供 3 种可能的行为
-
input[type="checkbox"]:checked时提交值, -
input[type="checkbox"]:not(:checked)时提交值 -
input[type="checkbox"]选中或取消选中时提交值
1。勾选后提交
这是大多数人想要的行为,很幸运,因为这是元素的默认行为。
2。未选中用例时对面提交
假设您创建了一个默认检查所有字段的表单
<input type="checkbox" checked value="1" name="1" />Check me if Yes
<input type="checkbox" checked value="1" name="2" />Check me if Yes
...
...
<input type="checkbox" checked value="1" name="49" />Check me if Yes
<input type="checkbox" checked value="1" name="50" />Check me if Yes
我们创建了表单,因此我们知道默认值。
只提交和处理(服务器)更改的值是有意义的。在这种情况下,它是未选中的复选框。
这是使用双重否定并正常提交的替代方法。
<input type="checkbox" value="0" name="1" />Check me if No
<input type="checkbox" value="0" name="2" />Check me if No
...
...
<input type="checkbox" value="0" name="49" />Check me if No
<input type="checkbox" value="0" name="50" />Check me if No
3。选中或未选中时提交
如果您可能希望将两个可能的值发送到服务器,则可以使用此方法。
<input type="checkbox" default="NO" value="YES" />Check me if YES
数字 1. 非常简单,但信不信由你,这是关于 stackoverflow 的一个问题。
<form>
<input name="checkbox" type="checkbox" value="1" checked />
</form>
那么如何实现另外两个呢?
【问题讨论】: