有効な電子メールが入力されている場合、検証は正常に機能しています。有効でない場合は非表示のボックスが表示され、オーバーレイにメッセージエラーが表示されますが、キーダウンまたはリターンかどうかを確認するにはどうすればよいですか? アイデアはありますか?
これは私のコードで、 jsFiddle でもアクセスできます:
function validateEmail() {
var validEmail = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
$('#user_email').blur(function(){
if (validEmail.test(this.value)) {
$('.masked-check').fadeIn(300)
}
else {
$('.masked-check').fadeOut(300);
$('.overlay').append('<div class="alert alert-error" id="errors"></div>');
showOverlay($('#errors').html('Please enter a valid email...'));
}
});
}
validateEmail();
これがその方法であるかどうかはわかりませんが、今はうまくいきます。唯一の問題は、キープレスのキーアップまたはキーダウンを聞いていないことです。これが更新されたhttp://jsfiddle.net/creativestudio/bKT9W/3/です。これが最善の方法であるかどうかはわかりませんが、今のところ機能しています。
function validateEmail() {
var validEmail = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
$('#user_email').blur(function(){
$('.masked-check').hide();
if (validEmail.test(this.value)) {
$('.masked-check').fadeIn(300)
}
else {
$('.masked-check').fadeOut(300);
$('.overlay').append('<div class="alert alert-error" id="errors"></div>');
showOverlay($('#errors').html('Please enter a valid email...'));
}
if ($('#user_email').val()=='') {
$('.masked-check').hide()
}
});
}
validateEmail();