(请在阅读之前不要将其标记为重复谢谢^_^)我想实现一个用户注册表单。在用户点击“提交”之前,它会调用一个函数 check_username() 来检查用户名是否可用。如果函数返回 true,则表单将被提交,否则不会。表格是这样的:
<form action="register/sumbit" method="post" onsubmit="return check_username()">
...
</form>
为了实现 check_username 函数,我采用了如何从 AJAX 调用返回响应中提出的方法?,但它对我不起作用。也许我误解了。这是我的功能:
function check_username()
{
return $.post(url, {data}); //post the input username to sever to see whether it exists. I omitted something for simplicity here
}
check_username().done(
function(data){
if(data=="true")//username doesn't exist
return true;
else if(data=="false")
return false;
}).fail(function(){});
基本上,我希望 check_username 返回一个布尔值,该值(真或假)将决定表单是否要提交。结果是即使我不点击“提交”,“check_username.done()”也会实现(因此它不应该触发 check_username)。无论用户名是否存在,表单总是被提交。我想要的是,如果用户名存在, check_username 将返回 false 以便不会提交表单。谁能告诉我如何解决这个问题?感谢您的关注!