【问题标题】:onchange event on checkbox always shows this.value = on复选框上的 onchange 事件始终显示 this.value = on
【发布时间】:2015-04-29 09:32:03
【问题描述】:

复选框类型的输入在触发其onchange 事件时,this.value 始终设置为 on,即使勾选了复选框,在这种情况下我希望它是 off

这是预期的行为吗?

<input type="checkbox" onchange="alert(this.value)">

【问题讨论】:

    标签: javascript html checkbox


    【解决方案1】:

    简短回答:不要使用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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      相关资源
      最近更新 更多