2

在下面的脚本中,我试图在不提交表单的情况下捕获验证引擎的成功事件(满足所有表单元素的验证条件)。

这个想法是禁用提交按钮,直到满足验证,然后我想启用它。(我见过的validationEngine示例似乎需要启用提交按钮才能提交表单,然后在提交后对其进行验证)

但是,我无法触发 validate() 函数中的“有效”方法。任何想法我做错了什么?

    $(document).ready(function() {
        /* disable the submit button until required form elements are enabled */ 
        $('#btnEcommidEdit').attr('class','button disabled');
        $('#btnEcommidEdit').attr("disabled","disabled");

        /* initiate validation */
        $("#form1").validationEngine(
        {
            inlineValidation: true
        });

        /* check form elements to enable submit button */
        $('#email2,#confirm1,#confirm2').change(function() {
            validate();
        });
    });

    function validate(){
        var valid = $("#form1").validationEngine();
        if (valid)
        $("#btnEcommidEdit").attr('disabled','');
        else
        $("#btnEcommidEdit").attr("disabled","disabled");
        }
4

2 回答 2

1
function validate(){
    alert("validate");
    var valid = $("#form1").validationEngine();
    alert('Validation Engine returned : ' + valid);
    if (valid == true) {
        $("#btnEcommidEdit").prop("disabled",false);
        $("#form1").submit();
    } else {
        $("#btnEcommidEdit").prop("disabled",true);
        return false;
    }
于 2013-10-24T01:44:11.340 回答
1

使用此事件来捕获表单是否有效:

submitHandler: function (form) {
    // for demo
    if ($(form).valid()) {
        // valid
    } else {
        //do some error handling
    }
    return false; // to not submit form
}

或简单使用$(form).valid()

于 2013-12-18T19:00:17.723 回答