Есть ли способ проверить форму перед ее отправкой, чтобы увидеть, были ли отмечены ЛЮБОЙ из флажков? - PullRequest
4 голосов
/ 01 февраля 2011

Есть ли способ проверить форму перед ее отправкой, чтобы увидеть, был ли ЛЮБОЙ из флажков установлен в Javascript?

Что-то вроде ...

function checkboxcheck(){
/*something in here to check name="brands[]" checkbox array?*/
}

По сути, я просто хочу, чтобы он предупреждал меня, если были установлены флажки 0 Я бы вызвал эту функцию при отправке.

Большое спасибо !!

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

Вы можете сделать что-то вроде этого:

function anyCheckboxesChecked() {
  var inputs = document.getElementsByTagName('input');
  for (var i = 0; i < inputs.length; ++i) {
    if (inputs[i].type === "checkbox" && inputs[i].checked)
      return true;
  }
  return false;
}

Тогда вы могли бы вызвать эту функцию из вашего обработчика "submit"

   if (!anyCheckboxesChecked()) {
     alert("Please check one of the appealing checkboxes on the page");
     return false;
   }

Если ваша страница сложнее, чем это подразумевается (например, если есть несколько форм), тогда вы сначала найдете соответствующую форму и вызовете .getElementsByTagName() с этой точки вместо document.

0 голосов
/ 01 февраля 2011

Как насчет:

function checkboxcheck(name) {
    var els = document.getElementsByName(name);

    for (var i = 0; i < els.length; i++) {
        if (els[i].checked) {
            return true;
        }
    }
    return false;
}

с использованием getElementsByName().

Использование:

var valid = checkboxcheck("brands[]");

Вот пример: http://jsfiddle.net/andrewwhitaker/2saJp/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...