У меня есть следующий семантическую структуру для формыФорма проверки на KeyDown
<form class="form-horizontal" name="signUp" id="signUp" novalidate>
<fieldset>
<legend>Sign Up</legend>
<div class="form-group inputEmail">
<label for="inputUsername" class="col-lg-2 control-label" >Username</label>
<div class="col-lg-10">
<input type='email' class="form-control" id="inputEmail" placeholder="Your Email" maxlength="56" />
</div>
</div>
<div class="form-group inputPassword">
<label for="inputPassword" class="col-lg-2 control-label" >Password</label>
<div class="col-lg-10">
<input type='password' class="form-control" id="inputPassword" placeholder="Your Password" minlength="6" />
</div>
</div>
</fieldset>
</form>
Моя цель состоит в том, чтобы выполнить проверку на конкретных входных элементов в форме на KeyDown. У меня есть следующий фрагмент кода jQuery, который делает это
$('#signUp').keydown(function(){
signUp.usernameValid(); //performs validation
signUp.passwordValidity(); //performs validation
});
Я стараюсь следовать технике делегирования событий. Но проблема, с которой я столкнулся и в настоящее время пытается понять, заключается в том, как сосредоточиться на определенных элементах, когда событие keydown запускается в элементе формы?
На основании приведенного выше кода, после того, как KeyDown событие вызывается все валидация будет срабатывать для входных элементов вместо конкретного одного
Почему бы вы делая это на уровне формы? Имеет смысл проверять каждый вход отдельно, возможно на «размытие», или, возможно, на отправку формы. Похоже, вы пытаетесь обеспечить проверку в режиме реального времени, поэтому просмотр каждого отдельного ввода имеет больше смысла (для меня). –
Привет, Марк, да, я пытаюсь добиться проверки в реальном времени, дело в том, что если у меня есть более двух входных элементов. Единственная опция, которую я имею, - это наблюдать каждый элемент ввода отдельно? – RRP
Проблема с выполнением этого на уровне формы заключается в том, что вы не знаете, где пользователь находится в процессе заполнения формы. Они только вводили что-то в первый вход, но не в следующие 3? Если они все еще заполняют входные данные, и вы постоянно оцениваете всю форму, вы не даете пользователю возможность закончить то, что они делают. Надеюсь, это имеет смысл, но у вас может быть бизнес-кейс, о котором я не знаю. –