【发布时间】:2015-04-29 09:32:03
【问题描述】:
复选框类型的输入在触发其onchange 事件时,this.value 始终设置为 on,即使勾选了复选框,在这种情况下我希望它是 off
这是预期的行为吗?
<input type="checkbox" onchange="alert(this.value)">
【问题讨论】:
标签: javascript html checkbox
复选框类型的输入在触发其onchange 事件时,this.value 始终设置为 on,即使勾选了复选框,在这种情况下我希望它是 off
这是预期的行为吗?
<input type="checkbox" onchange="alert(this.value)">
【问题讨论】:
标签: javascript html checkbox
简短回答:不要使用value 检查复选框的选中状态,而是使用checked
<input type="checkbox" onchange="alert(this.checked)">
如果你想知道为什么这个总是“开启”的值,HTML5 规范中有一个规范:
默认/开启
在获取时,如果元素有一个 value 属性,它必须返回那个 属性值;否则,它必须返回 字符串“开”。在设置时,它必须将元素的 value 属性设置为 新值。
http://www.w3.org/TR/html5/forms.html#dom-input-value-default-on
【讨论】: