2013-03-04 3 views
1

Я использую внешнюю библиотеку проверки, чтобы проверить, заполнены ли поля whetever. Это прекрасно работает.jQuery validate and alert

Затем я хочу показать предупреждение, когда все поля были заполнены правильно, и пользователь попадает в submit.

Вот код:

<select id="selectsizes" class="required"> 
    <option></option> 
    <option>1</option> 
    <option>2</option> 
</select> 
<input type="Text" id="txtName" name="Name" value="" class="required"> 

$(document).ready(function(){ 
    $("#Form").submit(function() { 
    if ($('.required').val() != "") { 
     alert("Thank you."); 
     return false; 
    } 
    }); 
}); 

У меня есть несколько полей в исходной форме, это только ради объяснения. Если я либо выберем опцию из поля выбора или заполните поле ввода, предупреждение будет срабатывать при нажатии submit. Он не должен срабатывать, прежде чем все ошибки проверки исчезнут.

ответ

0

создать вар, например var error = false;

цикла через все ваши ввода и выбирает, если вы получили вход, который не заполненный установить вар истинной error = true;

наконец:

if (!error) { 
    alert("Thank you."); 
    return false; 
} 

вы можете пройти через необходимые поля:

$('.required').each(function() { 
    //DO STUFF 
    if ($(this).val() == "") { 
    error = true; 
    } 
}); 
1

Вы должны проверить каждый вход для значения по отдельности, а затем проверить, если все они имеют значение и т.д., например, так:

$(document).ready(function() { 
    $("#Form").submit(function() { 
     var val = $.map($('.required'), function (el, i) { 
      if (!$.trim(el.value).length) return el; 
     }); 
     if (!val.length) { 
      alert("Thank you."); 
      return false; 
     } 
    }); 
}); 

FIDDLE

+0

Спасибо большое! Это было именно то, что я искал, он отлично работает. – user2132222