Проверка JQuery - ошибка, если не выбран ни один переключатель - PullRequest
1 голос
/ 28 февраля 2012

У меня есть 2 радио кнопки для посещаемости. 'И да и нет'. Я хочу сообщение об ошибке, если ни один из них не выбран и нажата кнопка отправки.

Я пытался

if (!$("input[name=attendance1]:checked").val()) {
    alert('Nothing is checked!');
}

но ошибка отображается только когда я вхожу в систему, а не при нажатии кнопки отправки

Ответы [ 3 ]

4 голосов
/ 28 февраля 2012

Для <form> элементов, вы можете сделать это. Если вы отправляете из JavaScript, используя $.ajax, попробуйте ответ icyrock.

$("#myForm").submit(function() {
  if (!$("input[name=attendance1]:checked").val()) {
    alert('Nothing is checked!');
    return false;
  }
});
4 голосов
/ 28 февраля 2012

Вы не можете просто ожидать, что вы добавите код на страницу, и он заработает;). Присоедините функцию проверки к submit jQuery событию формы:

$('#formID').submit(function() {
    if (!$("input[name=attendance1]:checked").val()) {
        alert('Nothing is checked!');
        return false; // so form doesn't submit
    }
});
1 голос
/ 28 февраля 2012

Используйте beforeSend - из документов:

у вас есть это:

beforeSend (jqXHR,настройки) Функция

Функция обратного вызова перед запросом, которую можно использовать для изменения объекта jqXHR (в jQuery 1.4.x, XMLHTTPRequest) перед его отправкой.Используйте это для установки пользовательских заголовков и т. Д. Карты jqXHR и настройки передаются в качестве аргументов.Это Ajax Event.Возврат false в функции beforeSend отменит запрос.Начиная с jQuery 1.5, опция beforeSend будет вызываться независимо от типа запроса.

Таким образом, вы можете в основном предупреждать в beforeSend, а затем return false об отмене отправки.

Вот рабочий пример, который показывает нужную вам часть:

Надеюсь, это поможет.

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