У меня есть форма, проверяемая jQuery.validate.Используя опцию errorPlacement, у меня есть собственный набор функций для проверки ошибок в реальном времени.Используя опцию успеха, у меня есть собственный набор функций, позволяющий избавиться от сообщений об ошибках и заменить их.
Все отлично работает, кроме проверки на скрытых полях, только при отправке.С опцией успеха jQuery.validate отлично работает для всех других полей, кроме моих скрытых полей.Я использую скрытые поля для объединения значений из нескольких текстовых полей и флажков.Вот пример моей дилеммы с тремя полями даты рождения: день, месяц, год:
HTML:
<label for="birthmonth">Birthdate</label></div>
<div class="birthfield1"><input type="text" id="birthmonth" name="birthmonth" class="ignore" /></div>
<div class="birthfield23"><input type="text" id="birthday" name="birthday" class="ignore" /></div>
<div class="birthfield23"><input type="text" id="birthyear" name="birthyear" class="ignore" /></div>
<div class="errorparent"><input id="birthdate" name="birthdate" type="hidden" /><div class="norederrorx errordetails2"> </div></div>
jQuery / javascript для обновления скрытого поля даты рождения:
$('#birthday,#birthmonth,#birthyear').change(function() {
var inputbirthday = $('#birthday').val();
var inputbirthmonth = $('#birthmonth').val();
var inputbirthyear = $('#birthyear').val();
if (inputbirthday && inputbirthmonth && inputbirthyear) {
alert('all values');
$('#birthdate').val($('#birthday').val()+'/'+ $('#birthmonth').val()+'/'+ $('#birthyear').val());
}
if (inputbirthday == "" || inputbirthmonth == "" || inputbirthyear == ""){
$('#birthdate').val('');
}
});
И код опции успеха jQuery.validate (который работает:
success: function() {
if (elementholder.hasClass('ignore') == false) {
errorspotholder.find('.rederrorx').removeClass('rederrorx').addClass('norederrorx');
}
},