Как проверить поля, когда я нажимаю на кнопку в первый раз?
Проверка полей образования и морального воспитания происходит, когда я нажимаю на кнопку во второй раз.
Я хочу, чтобы проверка выполнялась при первом нажатии на кнопку.
У меня есть следующий код:
$('body').on('change', '#education', function(){
if( !$("#education").val() ) {
$(this).closest('.form-group').addClass('has-error');
}else{
$(this).closest('.form-group').removeClass('has-error');
}
});
$('body').on('change', '#moraleducation', function(){
if( !$("#moraleducation").val() ) {
$(this).closest('.form-group').addClass('has-error');
}else{
$(this).closest('.form-group').removeClass('has-error');
}
});
//education
$('body').on('click', '#update', function(){
if($("body #education").hasClass('parsley-error')){
$("body #education").closest('.form-group').addClass('has-error');
}
});
//moraleducation
$('body').on('click', '#update', function(){
if($("#moraleducation").hasClass('parsley-error')){
$("#moraleducation").closest('.form-group').addClass('has-error');
}
});
2 ответа
Я отмечу дикое предположение и скажу, что вы, вероятно, хотели этого
$(document).on('click', '#update', function() {
var edu_err = $('#education').hasClass('parsley-error');
var mor_err = $('#moraleducation').hasClass('parsley-error');
$('#education').closest('.form-group').toggleClass('has-error', !edu_err);
$('#moraleducation').closest('.form-group').toggleClass('has-error', !mor_err);
});
Где вы переключаете класс ошибок, основываясь на классе ошибок потомков и т. Д.
Консоль регистрирует нажатие, чтобы увидеть, есть ли ошибка при первом нажатии. Как выглядит остальная часть вашего кода? Может быть порядок, в котором вы размещаете функции.