我有一个注册页面,在使用CakePHP框架的网站中使用de JQuery Validation插件。使用验证提交的代码如下所示:
$("#ClienteRegistroForm").submit(function(event){
event.preventDefault();
console.log("try submit");
if($(this).valid())
{
$(this).submit();
console.log("submitting form");
}
});
页面中的提交按钮将数据作为POST发送到PHP文件。我遇到的问题是,当它验证并处理该行时:
$(本).submit()
它会继续多次提交表单并被卡住。控制台日志显示此行为,以下是控制台打印的样子:
页面在行为上保持冻结状态,php脚本永远不会执行。该脚本应仅用于验证表单,并让它提交并将POST数据发送到php文件。
关于为什么会发生这种情况的任何想法?即使我包含
event.preventDefault()
答案 0 :(得分:1)
你在submit()
内进行submit()
,使函数递归。尝试在提交按钮本身的#ClienteRegistroForm
上click()
创建初始事件处理程序。像
$("#ClienteRegistroForm input[type='submit']").click(function(event){
// code here
})
答案 1 :(得分:1)
你在提交中调用sumbit,所以这是一个无限循环。尝试使用onclick而不是按钮。
$(document).on("click", "#ClienteRegistroForm input[type='submit']", function(event){
event.preventDefault();
var form = $(this).closest("form");
console.log("try submit");
if(form.valid())
{
form.submit();
console.log("submitting form");
}
});
答案 2 :(得分:0)
你正在做一个递归调用提交,发生了什么应该发生的事情,你必须尝试另一种方法。