我正在尝试使用 jQuery 提交表单,但有时它会挂起浏览器,有时会崩溃。我正在使用 jQuery 验证插件,我想在验证通过时提交表单。验证通过后是否可以正常提交表单,我不想用jQuery提交

这是我的小代码片段。

  var validate = function () {

        $('#contactForm').validate({
            rules: {
                'first-name': {
                    required: true
                },
                'sur-name': {
                    required: true
                }
            },
            submitHandler: function (form) {

                $('#contactForm').submit();

                return false;
            }
        });
    };

    $('#submitEnquiryForm').click(validate);

最佳答案

那是因为验证通过(监听提交事件)并且您一次又一次地触发 submit 事件。

submit -> validate -> submit -> validate -> ... -> crash(maximum call stack size exceeded)

尝试:
form.submit();

或者:
$('#contactForm')[0].submit();

它将正常提交表单并且不会调用 validate 方法。

关于jquery - 使用 jQuery 提交表单会使浏览器崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22500792/

10-12 12:28
查看更多