在触发其onchange
事件时输入类型复选框,this.value
始终设置为on
,即使勾选了复选框,我希望它为off
{1}}
这是预期的行为吗?
<input type="checkbox" onchange="alert(this.value)">
答案 0 :(得分:12)
简短回答:请勿使用value
检查复选框上的已检查状态,而是使用checked
<input type="checkbox" onchange="alert(this.checked)">
&#13;
如果你想知道为什么总是这样 - &#34; on&#34;值,HTML5规范中有一个规范:
默认/上强>
获取时,如果元素具有value属性,则必须返回该属性 属性的价值;否则,必须返回 字符串&#34; on&#34; 。在设置时,必须将元素的value属性设置为 新的价值。
http://www.w3.org/TR/html5/forms.html#dom-input-value-default-on