我有一个配置文件创建表单,其中包含一个电子邮件地址字段。我需要确保用户输入的电子邮件地址格式有效,并且还没有被使用。对于格式检查,我有一个由 isValidEmailAddress 函数执行的简单客户端验证,效果很好。对于我需要检查电子邮件地址是否不存在的另一部分,我将 jquery post 发送到控制器方法,如果电子邮件已被某人使用,则返回字符串“电子邮件地址已在使用中”......但在第一个“return false”下方的代码不会阻止表单提交。这是一个异步的jQuery吗?
$(document).ready(function(){
$("#new_profile").submit(function(){
var email = $("#user_email").val();
if(isValidEmailAddress(email)){
jQuery.post('/profiles/validate_email', {email: email}, function(data){
if(data.match(/in use/)){
$(".email-check-message").html(data);
return false;
}
});
}
else{
$(".email-check-message").html('please enter a valid email address');
return false;
}
});
});
此外,上述函数中的 jquery 帖子似乎不起作用..因为我没有看到服务器日志中发生服务器调用。有谁知道发生了什么?谢谢。