Как проверить в JQuery только если все поля не заполнены - PullRequest
0 голосов
/ 04 августа 2011

Используя проверку jQuery, если у меня много полей на странице и требуется заполнить только ОДИН из них, как я могу вызвать ошибку, только если они все пустые.

То есть пользователь может заполнить одно или несколько полей, но если все они будут пустыми, произойдет ошибка. Я хочу знать, есть ли способ сделать это с помощью проверки jQuery.

Ответы [ 3 ]

6 голосов
/ 04 августа 2011

Что-то в этом духе должно работать.

var valid=0;
$("#myform input[type=text]").each(function(){
  if($(this).val() != "") valid+=1;
});

if(valid){
  console.log(valid + " inputs have been filled");
}
else {
  console.log("error: you must fill in at least one field");
}

См. Рабочий пример здесь по jsFiddle

2 голосов
/ 04 августа 2011
var filled = $("#theForm :input").filter(function() {
    return $.trim(this.value).length;
});
if(filled.length) {
    // at least one has been filled
} else {
    // error, all are blank
}

Вы можете проверить это здесь.

Справка:

0 голосов
/ 04 августа 2011

попробуйте это,

    var name = $('#name').val();
    var city = $('#city').val();

    if(name == '' && city == '') // this will only fire when both name and city are empty if one of them is not empty than this if condition will not fire
    {
       alert('all fields are required');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...