我在输入中输入用户名/电子邮件时,正在为用户制作一些简单的身份验证表单。在表单提交代码工作正常之前,但在我提交表单(使用preventDefault)后,这个'输入检查器'停止工作。任何人都可以告诉我为什么以及如何使它工作?: - )
var reValidEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
$("#auth-input").on('input', function () {
if (document.getElementById("auth-input").value.indexOf("@") + 1) {
if (!reValidEmail.test(document.getElementById("auth-input").value)) {
$("#login-comment").text("Please enter valid email");
} else {
$("#login-comment").text("");
}
}
});
$("#log-in-form").submit(function (e) {
e.preventDefault();
if ( document.getElementById("auth-input").value.length > 0
&& ( document.getElementById("auth-input").value.indexOf("@") == -1
|| ( document.getElementById("auth-input").value.indexOf("@") + 1
&& reValidEmail.test(document.getElementById("auth-input").value)
)
)
) {
//some ajax request
} else {
if (document.getElementById("auth-input").value.indexOf("@") + 1) {
$("#login-comment").text("Please enter valid email"); //does not hide after form submission and input change for correct one
} else {
$("#login-comment").text("Please enter username or email"); //does not hide after form submission and input change for correct one
}
}
});