Javascript - 检查事件监听器

时间:2017-10-06 09:39:46

标签: javascript

我的应用程序中有一个切换按钮。

如果按钮打开,我希望该值设置为1,如果不是,则该值应为null。 (0 =停用,1 =已激活)

这是我目前的javascript代码:

var checkbox = document.querySelector("input[name=checkbox]");

checkbox.addEventListener( 'change', function() {
    if(this.checked) {
        document.getElementById("activate").value = '1';
    } else {
        document.getElementById("deactivate").value = '0';
    }
});

那就是我的切换按钮:

<div class="toggle">
    <label>
         <input id="CheckAcitavtion" name="checkbox" type="checkbox"> 
         <span class="slider"></span>
    </label>
</div>  

但是当我切换按钮时,会出现以下错误:

  

未捕获的TypeError:无法设置属性&#39; value&#39;为null           在HTMLInputElement。

1 个答案:

答案 0 :(得分:1)

你指向的id不存在所以我给了span元素这个id。对于不是innerHTML的元素,您还应该使用value而不是<input>

&#13;
&#13;
var checkbox = document.querySelector("input[name=checkbox]");

checkbox.addEventListener( 'change', function() {
    if(this.checked) {
        document.getElementById("checkValue").innerHTML = '1';
    } else {
        document.getElementById("checkValue").innerHTML = '0';
    }
});
&#13;
<div class="toggle">
  <label>
  <input id="CheckAcitavtion" name="checkbox" type="checkbox">
    <span id="checkValue">0</span>
  </label>
</div>
&#13;
&#13;
&#13;