Javascript和Checkboxes

时间:2012-08-15 19:34:09

标签: javascript checkbox onclick conditional toggle

我正在尝试创建一个复选框,它会改变点击时的表单操作。我开始时将其设置为根据是否检查消息来警告消息,但没有发生任何事情。请帮帮我!

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>

2 个答案:

答案 0 :(得分:6)

您的主要问题是您为变量check命名,但在if语句中查找了checked。其次,请注意.checked是布尔值(truefalse),但您将其与字符串“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)