Как проверить, сколько пустых полей ввода? - PullRequest
2 голосов
/ 15 мая 2011

У меня около 5 полей ввода, и перед их проверкой я хочу иметь возможность оповещения с помощью javascript, чтобы пользователь знал, что есть пустые поля, которые необходимо заполнить перед проверкой.

Так что я хочу иметь возможность предупреждать с помощью js, если 2 из 5 полей ввода пусты!

Может кто-нибудь, пожалуйста, помогите мне с этим! Я много исследовал и читал некоторые блоги, в которых говорилось, что нужно использовать «длину», но не смог понять!

Таким образом, как только пользователь нажимает кнопку «Отправить» с идентификатором «отправить», появляется предупреждение, в котором должно быть не менее 2 из 5 полей ввода ...

Вот мой код:

<input type="text" id="a" value="" />
<input type="text" id="b" value="" />
<input type="text" id="c" value="" />
<input type="text" id="d" value="" />
<input type="text" id="e" value="" />

<input type="submit" id="submit" value="Check Form" />

Спасибо

Ответы [ 3 ]

7 голосов
/ 15 мая 2011
document.getElementById('submit').onclick = function() {
    var inputs = document.getElementsByTagName('input'),
        empty = 0;

    for (var i = 0, len = inputs.length - 1; i < len; i++) {
        empty += !inputs[i].value;
    }
    if (empty > 3) {
        alert('You must fill in at least 2 fields');
    }
};

Пример: http://jsfiddle.net/Fn8cw/

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

С помощью jquery вы можете перебрать все поля ввода и увеличить переменную, если поле ввода пусто:

$("#your_form_div").change(function(){     
$(this).parents('form')             
.find(':input').each(function(i) {
if( $(this).val() )
//here your incremented variable
}); }); 
0 голосов
/ 15 мая 2011

это скажет вам, сколько пусто

var empty = $('input:text').filter(function() { return $(this).val() == ""; });

 if (empty.length > 3){
    alert("you must fill in at least two inputs");
}

вот демоверсия

конечно, я предполагаю, что вы можете использовать jQuery

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