【问题标题】:Validation with parsley after re-enabling fields重新启用字段后使用欧芹进行验证
【发布时间】:2013-09-12 15:11:23
【问题描述】:

我正在处理一个有两页的表单,从技术上讲是一页,只是隐藏第二页,直到第一页完成。我的第一个任务是能够使用 parsley.js “验证”第一页,而不包括第二页中的元素。我这样做了 禁用(通过 attr)第二页上的元素。因此,只有在单击“下一步”按钮时才将项目保留在第一个进行验证。 这很好用!不幸的是,在第二页上,在我从元素中 removeAttr('disabled') 之后,欧芹忽略它们并且仍然只验证第一页,因此返回“true”并提交页面而不检查第二页中的任何元素.

感谢阅读!

【问题讨论】:

    标签: html forms validation parsley.js


    【解决方案1】:

    好的,所以我想出了这一点,以防万一将来有人遇到这种情况。

    加载第二页后,我销毁了欧芹,然后在重新启用元素后重新添加。

    $('.new-account #page1 #next').on('click', function (e) {
        e.preventDefault(); 
        if ($('#new-account-form').parsley('isValid') == true) {
            $('#new-account-form .hide input').removeAttr('disabled');
            $('.new-account #page1').fadeOut(500, function() {
                $('.new-account #page2').fadeIn(500);
            });
            // destroy
            $('#new-account-form').parsley('destroy');
            // Re-assign parsley to the form to include the second page now
            $('#new-account-form').parsley();
    
        } else {
            $('#new-account-form').parsley('validate');
        }
    });
    

    【讨论】:

    • 不得不使用 parsley 1.x 而不是 2.x,而你刚刚救了我的命。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多