gpt4 book ai didi

我在表单上使用 jquery .validate() 后,jQuery .submit() 不起作用

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

我有一个触发表单提交的按钮:

$('#formButton').click(function(e) {
$('#form').submit();
)};

当我添加表单验证器时,它不再提交任何内容(不执行任何操作):

  var validate= $('#form').validate({
"rules": {
"name": {
"required": true
}
}
});

这就是我想做的,但就像我说的,一旦我使用 .valiate() 函数,.submit() 函数就不会执行任何操作:

$('#formButton').click(function(e) {
if (validate.form() === false) {
e.preventDefault();
} else {
$('#form').submit();
}
)};

我不能使用ajax而不是.submit(),因为我有一些具有"file"类型的输入,并且据我所知,我不能使用.serialize()来处理此类输入类型。

有什么建议,为什么我使用 .validate() 后 .submit() 函数会停止提交?

最佳答案

validate 方法会阻止 submit 事件的默认操作,当您提交表单时,会调用 validate 方法。如果您想在表单字段有效时提交表单,则应在传递给 validate 方法的对象上定义一个 submitHandler 函数:

$('#form').validate({
"rules": {
"name": {
"required": true
}
},
submitHandler: function(form) {
form.submit();
}
});

由于 form 参数是原始 DOM 元素,因此调用它的 submit 方法不会调用 validate 方法。如果您不想定义上述方法,您可以使用 .get() 方法获取原始 DOM 元素并调用它的 submit 方法:

$('#form').get(0).submit();

关于我在表单上使用 jquery .validate() 后,jQuery .submit() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22890581/

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