我尝试通过 jquery 中的鼠标移出来验证文本框,我的代码通过任何鼠标移出运行都意味着它显示输入有效的电子邮件。多次,每次我在文本框外单击时。 这是我的代码:
$(document).ready(function() {
$('#EmailAddress').focusout(function() {
var email = $.trim($('#EmailAddress').val() || '');
if (email.length == 0 || !emailregx.test(email)) {
$(this).addClass('ChangetoYellow');
$(this).after('<div class="Required">Enter valid Email.</div>');
return false;
} else {
$(this).next(".Required").remove();
$(this).removeClass('ChangetoYellow');
return true;
}
});
});
我的代码在 document.ready 之外时不起作用。
这是我每次点击时跑过时得到的结果:
最佳答案
$(this).after('<div class="Required">Enter valid Email.</div>');
这将在每次焦点移出输入框后添加一个新的焦点。
而是在文本框下方放置一个占位符 div。
<div id="emailErrorMsg"></div>
然后做
$('#emailErrorMsg').html('Enter valid Email.');
这还可以让您添加更多错误消息。
关于javascript - Jquery focusout 通过每次鼠标点击运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37405741/