【发布时间】:2017-09-24 14:23:53
【问题描述】:
我有以下代码来验证密码匹配和电子邮件是否存在 ajax 调用。 返回 false 后代码继续执行。`如果 email id 不存在,则 emailexist 函数返回 0,如果 email id 存在,则返回 1。
在表单提交时
<form action="/home" method="post" onsubmit="return validateform();">
function validateemail(){
var email_id = $("#email").val();
if(email_id)
{
$.ajax({
type: 'post',
url: '/emailexist',
data: {
email:email_id,
},
success: function (response) {
if(response== 1)
{
$("#email_status").html("email already exist");
return false;
}
else if(response == 0){
return true;
}
}
});
}
function validatepassword()
{
var pass = $("#password").val();
var cofirmpass = $("#confirmpassword").val();
if(pass != cofirmpass)
{
alert("password does not match!");
return false;
}
else{
return true;
}
}
function validateform()
{
if(validatepassword() && validateemail() )
{
return true;
}
else
{
return false;
}``
}
</script>`
【问题讨论】:
-
请检查
preventdefault的功能。 -
那是因为您正在进行 AJAX 调用。您应该在
blur的#email事件上调用validateemail -
@MilanChheda :使用 $("#email").blur(function(). 并使用 d focus() 确保控制回电子邮件字段谢谢。
标签: javascript jquery ajax callback