проверка полей класса - PullRequest
       1

проверка полей класса

0 голосов
/ 21 апреля 2011

Как получить элементы, связанные с классом, один за другим.В форме у меня есть несколько полей, и некоторые числовые поля связаны с классом. Теперь при отправке мне нужно проверить поля того же класса.Для этого я использую jquery.

$("form").submit(function() {
    $(".numeric").each(function(intIndex)){})
});

Это то, о чем я думаю.Правильный ли мой подход.Любые предложения, пожалуйста.

Ответы [ 3 ]

1 голос
/ 21 апреля 2011

Ваш подход выглядит правильно;При наличии любого селектора вы можете применить функцию к каждому сопоставленному элементу с помощью .each.Вы уже попробовали это?Если так, то что по этому поводу не отвечает вашим потребностям?

Если вы хотите предотвратить отправку формы, вам нужно использовать переменную Sentinal:

$("form").submit(function() {
   var fieldsAreValid = true;

   $(".numeric").each(function(intIndex)){
      if (/* this field isn't valid */) {
         fieldsAreValid = false;
      }
   });

   if (!fieldsAreValid)
     return false;
});

Никогда не бойтесь просто попробовать что-то и посмотреть, работает ли оно.Мой любимый учитель говорил: «Информатика - экспериментальная наука, а теперь уходи из моего кабинета!»

0 голосов
/ 21 апреля 2011

Найти рабочий пример здесь: http://jsfiddle.net/ezmilhouse/ssVa9/

function is_numeric(mixed_var) {
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);    
}

$("form").live("submit", function(){
   var val = true;
   $(this).find( 'input[type=text]' ).each(function(){
        if ($(this).hasClass('numeric')) {
            if (!is_numeric($(this).val())) {
                alert('Error! Field: ' + $(this).attr('name'));
                val = false;
            }
        }
    });
    if (val === false) {
        return false;
    }
});
0 голосов
/ 21 апреля 2011

Ваш подход кажется технически правильным, но, к вашему сведению, уже существует структура, созданная для этого.Зачем изобретать велосипед?Посмотрите JQuery Validate

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