Необходимо отображать предупреждение, если в JavaScript не установлены флажки, мой текущий метод не работает - PullRequest
0 голосов
/ 02 мая 2011

Я получаю сообщение об ошибке "Ожидаемый объект" - ошибка указывает на первый 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 ]

3 голосов
/ 02 мая 2011

Вам не нужна часть 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.');
}
0 голосов
/ 02 мая 2011

Это потому что у вас есть "" вокруг истины.В этом случае true не является строкой, это логическое значение, и вы можете просто написать true вместо.Вы можете сделать это еще проще, воспользовавшись ответом KooiInc.

0 голосов
/ 02 мая 2011

Javascript чувствителен к регистру - вам нужно использовать if ()

Обновление: вот как я бы проверил форму (я бы вряд ли назвал объект 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)">
0 голосов
/ 02 мая 2011

Попробуйте

if (!(lucy.ch1.checked || lucy.ch2.checked || lucy.ch3.checked))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...