Проверьте, не заполнены ли поля, перед отправкой jQuery для динамических форм.
Добрый день.
У меня есть количество динамических форм, общее количество полей ввода неизвестно,
Я хотел использовать простую функцию проверки, такую как:
function check_submit() {
if ($(this).val().length == 0) {
$(":submit").attr("disabled", true);
} else {
$(":submit").removeAttr("disabled");
}
}
Поскольку я буду использовать одну и ту же функцию для ряда различных динамических форм, каждая из которых имеет свои собственные "обязательные поля", я хочу иметь возможность передавать неизвестное количество классов, которые необходимо заполнить, функция должна убедиться, что каждое поле внутри этого класса заполнен.
Какие-либо предложения?
3 ответа
Пожалуйста, попробуйте ниже код:
$('form.classnameofelement').each(function(){
if($(this).val().length != 0){
// do somthing;
}else{
// do nothing;
}
});
Дайте мне знать, если какой-либо запрос.
Благодарю.
Вы можете использовать атрибут "required" для браузеров, которые его поддерживают. Для тех, кто этого не делает, вы можете сделать следующее:
Обновите ваши входные данные следующим образом:
<input name="test1" required>
<input name="test2" required>
<input name="test3" required>
Вы можете проверить, все ли входы имеют такие значения:
var unfilled = $('[required]').filter(function() {
return $(this).val().length === 0;
});
if (unfilled.length > 0) {
// still unfilled inputs
unfilled.css('border', '1px solid red');
}
Я оставил это на пару дней, но сегодня мне удалось создать рабочую функцию
$( "form" ).submit(function( event ) {
var empty_fields = [];
$(".chck").each(function(){
if($(this).val().length !=0 ) {
return;
}else{
empty_fields.push($(this).attr('name'));
event.preventDefault();}
});
if(empty_fields){
alert(empty_fields);
}
});
Мне просто нужно убедиться, что все обязательные поля имеют class="chck", я надеюсь, что кто-то найдет это полезным в будущем.