【问题标题】:jQuery Validation disable submit button until form validatedjQuery Validation 禁用提交按钮,直到表单验证
【发布时间】:2013-10-24 01:40:45
【问题描述】:

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

这个想法是禁用提交按钮,直到满足验证,然后我想启用它。 (我看到的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");
        }

【问题讨论】:

    标签: jquery jquery-validation-engine


    【解决方案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;
        }
    

    【讨论】:

    • 问题是有效变量似乎没有保存validationEngine() 方法的成功/失败值。我需要在那里进行正确的测试。
    • 那么,在您的validate() 函数中,valid 变量返回 false?然后你需要看看.validationEngine() 方法中发生了什么。你试过像这样的“valid == true”吗?
    • 它返回true,不管所有的验证元素是否有效。我认为我使用了错误的测试。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 2015-06-24
      • 2011-07-23
      • 2017-04-28
      相关资源
      最近更新 更多