gpt4 book ai didi

jquery - 如何在提交表单之前等待ajax验证完成?

转载 作者:行者123 更新时间:2023-12-03 23:00:23 25 4
gpt4 key购买 nike

在 validateUsername 函数有机会完成服务器端的用户名检查之前,存在表单提交的问题。

如何仅在 validateUsername 函数完成后提交表单?希望这是清楚的...

form.submit(function(){
if (validateUsername() & validateEmail() & validatePassword()) {
return true;
} else {
return false;
}
});

function validateUsername(){
usernameInfo.addClass("sign_up_drill");
usernameInfo.text("checking...");
var b = username.val();
var filter = /^[a-zA-Z0-9_]+$/;
$.post("../username_check.php",{su_username:username.val()},function(data) {
if (data=='yes') {
username.addClass("error");
usernameInfo.text("sorry, that one's taken");
usernameInfo.addClass("error");
return false;
} else if (!filter.test(b)) {
username.addClass("error");
usernameInfo.text("no funny characters please");
usernameInfo.addClass("error");
return false;
} else {
username.removeClass("error");
usernameInfo.text("ok");
usernameInfo.removeClass("error");
return true;
}
});
}

最佳答案

奥拉维尔回答的更详细版本 - AJAX 调用已发出,函数无需等待即可返回。

在您提交表单之前,回调不会完成。

您应该做的是让按钮/触发器调用 AJAX 验证,并且回调应该提交表单而不是返回 true。

关于jquery - 如何在提交表单之前等待ajax验证完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com