Javascript мини сценарий проверки - PullRequest
0 голосов
/ 20 ноября 2011

Я новичок в JS. пытаясь создать мини-функцию проверки, которая будет проверять поля, если они пусты или нет.

Что я хочу сделать, так это вызвать func как этот checkIfEmpty("fullname, email,..."), затем внутри функции, проверить каждое поле, разделенное запятой, собрать пустые поля в один массив и проверить в конце, является ли этот массив пустым или нет. Пробовал что-то вроде следующего func, но не знаю всех альтернатив php-функций в js. Пожалуйста, помогите мне реализовать мою идею ..

function checkIfEmpty(fields)
{
    var emptyFields=new Array();
    fields=fields.split(',');
    foreach(fields as field)
    {
        if (!field.val()) {
            field.attr('class', 'invalid');
            emptyFields[] = field;
        }
        }
        if(emptyFields.length()==0){return true;}
        else {return false;}
}

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Похоже, вы хотите что-то вроде этого:

$("input:text").each(function(i, field) {
     if (!field.val()) {
         field.addClass('invalid');
     }
});
return ($("input.invald").length > 0); // return true if invalid fields
0 голосов
/ 20 ноября 2011

Вы также можете установить класс для каждого входа, который не должен быть пустым, а затем при отправке формы проверить каждый вход, который имеет этот класс.

$('#form_id').submit(function() {
    $('.required').each(function() {
        // if a input field that's required is empty
        // we add the class '.invalid' 
        if(!$(this).val()) {
           $(this).addClass('invalid');
        }
    });

    // prevent the submission if number
    // there is required fields still empty
    return ($('input.invalid').length == 0);
});

Это пример формы с одним обязательным полем с именем email:

<form method="POST">
  <input type="text" name="email" class="required" />
  <input type="text" name="firstname" />
  <input type="text" name="lastname" />
  <input type="submit" value="SEND" />
</form>
...