Поля форм не должны действительно подтверждаться идентификацией (то есть уникальной), они должны проверяться по типу (достигаются с помощью классов или атрибутов имени).
Например, поле электронной почты может иметь класс .validate-email
. В JQuery вы перебирать все поля электронной почты с помощью .each()
:
$('.validate-email').each(function() {
$field = $(this);
// do your validation here...
});
Или вы можете использовать функции действия, такие, как .keyup()
:
$('.validate-email').keyup(function() {
$field = $(this);
// do your validation here...
});
Edit для решения комментариев:
что у вас есть:
<form id="student_form">
<!-- some fields... -->
<div>
<select class="grade"><!-- markup... --></select>
<select class="reason_select"><!-- markup... --></select>
<!-- as many as you want -->
<select class="reason_select"><!-- markup... --></select>
</div>
<-- more fields... -->
</form>
Оставить заявку, возможно, вы coul d try:
$("form#student_form").submit(function(form_event) {
var $grade = $(this).find(".grade");
var valid = true;
if ($grade.val() != "1") {
$grade.siblings(".reason_select").each(function() {
if ($(this).val() == "") // or whatever is appropriate
valid = false;
})
}
valid || form_event.preventDefault();
});
Использование JQuery проверки Он работает по атрибутам имени Кроме того, вы можете обернуть... каждая другая форма внутри parate div с уникальным идентификатором и областью действия валидационного вызова типа '$ ('# formId', '#divId')' – achakravarty
Какая идентифицирующая информация у вас есть? У форм есть идентификатор? Или вы просто проверяете n-ю форму? –
Не записывайте JS-код, который проверяет отдельные поля, если вы _really_ не можете ему помочь: вместо этого добавьте какие-то атрибуты или классы в поля, чтобы описать, какая проверка требуется, а затем напишите более общий JS, который просто прокручивает все поля указанной формы. – nnnnnn