Проверяйте при наборе в jquery, а не после размытия
У меня есть небольшая проблема, которую, вероятно, легко решить, но я пока не так хорош. Я написал этот простой код
$(document).ready(function(){
$('#email').change(function(){
var regexp = /^\w+[@]\w+\.\w{2,4}$/;
if(regexp.test($(this).val())){
document.getElementById("submit").disabled = false;
}
});
});
Он проверяет, является ли электронная почта действительной в форме, затем, если это так, - он включает кнопку ОТПРАВИТЬ. Проблема в том, что он проверяет электронную почту после того, как я нажимаю в другом месте, а НЕ во время набора текста. Так что в основном я должен щелкнуть где-нибудь за пределами поля электронной почты, а затем я могу нажать SUBMIT. Если я введу правильный адрес электронной почты и не нажму нигде за пределами этого поля, это не разблокирует ОТПРАВИТЬ. Что я должен изменить здесь? Есть идеи? Я любезно ценю все ответы. Заранее спасибо.
1 ответ
Решение
Попробуйте использовать
$('#email').keyup(function(){
var regexp = /^\w+[@]\w+\.\w{2,4}$/;
if(regexp.test($(this).val())){
$("#submit").prop('disabled', false);
}
else $("#submit").prop('disabled', true);
});
или же
$('#email').on('keyup', function(){
var regexp = /^\w+[@]\w+\.\w{2,4}$/;
if(regexp.test($(this).val())){
$("#submit").prop('disabled', false);
}
else $("#submit").prop('disabled', true);
});