Javascript 阻止jQuery Ajax成功阻止表单提交

Javascript 阻止jQuery Ajax成功阻止表单提交,javascript,jquery,ajax,forms,jquery-validate,Javascript,Jquery,Ajax,Forms,Jquery Validate,我正在使用jqueryvalidate和remote来检查电子邮件地址是否存在。不要问我为什么,但如果在数据库中找到匹配项(false),我需要它重定向到新页面,否则他们应该能够正常使用表单 这段代码工作得非常完美,除了:如果它返回true(意味着它没有重定向),那么表单提交按钮什么都不做。我没有看到任何像disabled这样的属性,但是表单提交被明确地阻止了。如果我没有在电子邮件输入中键入任何内容,它将允许我单击按钮 rules: { fullname:

我正在使用jqueryvalidate和remote来检查电子邮件地址是否存在。不要问我为什么,但如果在数据库中找到匹配项(false),我需要它重定向到新页面,否则他们应该能够正常使用表单

这段代码工作得非常完美,除了:如果它返回true(意味着它没有重定向),那么表单提交按钮什么都不做。我没有看到任何像disabled这样的属性,但是表单提交被明确地阻止了。如果我没有在电子邮件输入中键入任何内容,它将允许我单击按钮

        rules: {
            fullname: "required",
            email: {
                required: true,
                email: true,
                remote: {
                    url: "validate-email.php",
                    type: "post",
                    success: function(response) { 
                        if(response === false){
                            window.location.href = 'new-page.html';
                        }
                    },
                },
            },

          },

一旦我删除了success:section,表单提交正常工作,很明显它与我在那里做的事情有关。。。提前感谢您的帮助

不确定这是否是最好的解决方案,但我可以通过使用以下方法来修复它:

                remote: {
                    url: "validate-email.php",
                    type: "post",
                    complete: function(data) { 
                        if(data.responseText == "false"){
                            window.location.href = 'new-page.php';
                        }else{
                            return response;
                        }
                    },

谢谢你的帮助

是的,正如我试图解释的。。。使用服务器端代码在
false
上执行重定向。默认情况下,当从PHP回显
true
时,将自动满足
remote
规则。通过使用
success
选项,您正在破坏此默认功能。我创建了一个新问题,因为我认为它会令人困惑。我尝试将它添加到php脚本中,但它没有做任何事情。您引用的是一个简单的标题(位置:'newpage.html');对吗?验证插件将您的
远程:
选项合并到对
$.ajax
的调用中。它有自己的
success:
函数来处理响应,以便将元素标记为有效或无效。但是您的
success
函数正在覆盖它,因此验证不起作用。@Sparky在验证的服务器端他会怎么做?AJAX调用的重定向不会重定向客户端页面。@Barmar感谢您提供的信息。但是我有点困惑,因为验证仍然可以正常工作,唯一的问题是如果我在电子邮件输入中键入任何内容,我的表单提交按钮将停止工作。我仍然会得到验证响应(绿色检查为ok,或重定向为Take)。有没有其他成功的方法来达到同样的效果?