3

您好,我遇到了以下问题,我的以下代码对我不起作用,我不知道为什么。我希望你们能帮助我。

编辑:提交处理程序根本不会被调用。我什至没有收到警报消息。我想禁用提交按钮,直到表单得到验证。

    $('form').validate({

        onsubmit: true,
        debug: true,
        errorLabelContainer: "#errorBox",
        rules: {
            user_email: {
                minlength: 4,
                email: true,
                required: true
            },
            user_textField: {
                minlength: 3,
                required: true
            },
            user_phone: {
                required: true,
                number: true,
                minlength: 4
            },
            user_fax: {
                number: true,
                minlength: 4
            },

            user_plz: {
                required: true,
                number: true,
                minlength: 5
            }
        },
        submitHandler: function (form) {
            $('form').find(":submit").attr("disabled", true).attr("value","Submitting...");
            alert("hie");
            form.submit();
        }
    }); 

我还有一个提交按钮:

<button class="btn btn-primary pull-right continuePaymentProcess" type="submit">Weiter</button>

最好的问候格兰迪

4

2 回答 2

5

您不需要该onsubmit: true行,因为这是默认行为。 重要根据文档

在提交时验证表单。设置为 false 以仅使用其他事件进行验证。设置为 Function 以自行决定何时运行验证。布尔值 true 不是有效值。

换句话说,您必须删除该行,因为这true会破坏插件。

至于submitHandler“不工作”,它按照文档工作。表单有效时触发submitHandler回调函数。

你说,“我想禁用提交按钮,直到表单得到验证。”

由于在submitHandler表单为 之前不会触发,因此您禁用按钮的代码表单被验证valid之前不会触发。

查看您的代码:http: //jsfiddle.net/aDAGL/

于 2013-08-21T13:27:18.360 回答
0

我也面临同样的问题。请检查表单中的所有输入元素,并为所有元素提供“名称”属性。这对我有帮助。

谢谢

于 2015-08-25T14:13:01.623 回答