gpt4 book ai didi

jquery - 为什么我的 jQuery 事件没有阻止发布?

转载 作者:行者123 更新时间:2023-12-01 02:42:45 24 4
gpt4 key购买 nike

我有一个 MVC 应用程序,它使用自己的用户数据库和身份验证系统,而不是标准帐户 Controller 和 aspnet 身份验证系统(没有计划更改这一点)。作为其中的一部分,我有一个 jQuery 事件,用于在表单发布到服务器以创建新用户之前检查用户名是否存在。当我将 event.preventDefault 放在 .submit 函数的开头时,一切似乎都正常工作。但是,我只想在用户名已存在的情况下阻止该帖子。在下面的示例中,我从未收到警报,但出现了帖子有人能告诉我我做错了什么吗?谢谢!

    $(document).ready(function () {
$('#ProcessApplication').submit(function (event)
{
var un = encodeURIComponent($("input[name='form_email1']").val());
var myurl = '/Home/IsUser/' + un;
alert(myurl);
$.ajax({
url: myurl,
success: function (response) {
if (response == '1') {
alert("This e-mail address is already registered. Please login, then resubmit your application.");
event.preventDefault(); // <-- I've tried both event.preventDefault(); and return false; here
}
}
});
});
});

最佳答案

您只需要在函数前面使用 preventDefault()...

$(document).ready(function () {
$('#ProcessApplication').submit(function (event) {
event.preventDefault(); // <-- Put it here
var un = encodeURIComponent($("input[name='form_email1']").val());
var myurl = '/Home/IsUser/' + un;
alert(myurl);
$.ajax({
url: myurl,
success: function (response) {
if (response == '1') {
alert("This e-mail address is already registered. Please login, then resubmit your application.");
}
}
});
});
});

在您拥有它的地方,它仅在 ajax 调用完成后才会被调用,这将在提交后发生。

关于jquery - 为什么我的 jQuery 事件没有阻止发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22049135/

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