我正在尝试创建一个复选框,它会改变点击时的表单操作。我开始时将其设置为根据是否检查消息来警告消息,但没有发生任何事情。请帮帮我!
JavaScript的:
function toggleAction(){
var check = document.getElementById('checkb').checked;
if (checked == "1"){
alert("is checked");
}else{
alert("is not checked"); }
}
HTML:
<INPUT TYPE="checkbox" id="checkb" onclick="toggleAction()">Add Another<br>
答案 0 :(得分:6)
您的主要问题是您为变量check
命名,但在if
语句中查找了checked
。其次,请注意.checked
是布尔值(true
或false
),但您将其与字符串“1”进行比较。这恰好有效,但不推荐。
尝试:
if (check) alert("is checked");
else alert("is not checked");
比在处理程序中显式使用getElementById
更好的方法是使用对处理事件的复选框的引用:
document.getElementById('checkb').onclick = toggleAction;
function toggleAction(){
if (this.checked) alert('yes');
else alert('no');
}
请注意,上面我如何使用JavaScript以编程方式分配事件处理程序,而不是使用onclick="..."
HTML属性。这被认为是“最佳实践”;你不应该直接在HTML中编写JavaScript。
答案 1 :(得分:1)
第if(checked == "1")
行应为if(check)
。