如果在JavaScript中未选中任何复选框,则需要显示警报,我当前的方法无效

时间:2011-05-02 07:38:59

标签: javascript html checkbox

我收到“预期的对象”的错误 - 错误指向第一个If ...从我读到的关于复选框的所有内容(复选框对我来说永远不起作用)以及我读到的关于多个条件的内容,这是对的吗?即使它不是......

var lucy = window.document.alice

if (lucy.ch1.checked != "true" && lucy.ch2.checked != "true" && lucy.ch3.checked != "true" && lucy.ch4.checked != "true")
{
    alert('Atleast one box must be checked');
}

if (lucy.skeletor.value = "no")
{
    alert('Default Option is not a valid selection.');
}

4 个答案:

答案 0 :(得分:3)

您不需要lucy.ch1.checked != "true"部分。只要说一下(!lucy.ch1.checked && !lucy.ch2.checked && ...)。此外,使用if,而不是If,javascript区分大小写。您的代码是失败的保证,所以也许您希望它将其重写为:

var lucy = document.alice; //a form of some kind?
if (!lucy.ch1.checked && !lucy.ch2.checked 
    && !lucy.ch3.checked && !lucy.ch4.checked)
{
  alert('At least one box must be checked');
}

if (lucy.skeletor.value === "no")
{
  alert('Default Option is not a valid selection.');
}

答案 1 :(得分:0)

尝试

if (!(lucy.ch1.checked || lucy.ch2.checked || lucy.ch3.checked))

答案 2 :(得分:0)

Javascript区分大小写 - 您需要使用if()

更新:这是我将如何验证表单(我不太可能称之为obejct lucy,但是你在这里):

function validate(lucy) {
  if (!lucy.ch1.checked && !lucy.ch2.checked && !lucy.ch3.checked && !lucy.ch4.checked) {
    alert('At least one box must be checked');
    return false;
  }
  if (lucy.skeletor.value = "no") {
    alert('Default Option is not a valid selection.');
    return false;
  }
  return true;
}

<form onsubmit="return validate(this)">

答案 3 :(得分:0)

这是因为你有“”真的。在这种情况下,true不是一个字符串,它是一个布尔值,你可以写入true。 通过使用KooiInc的答案,你可以使它变得更加简单。