0

我正在构建一个 4 步表单,我只想验证当前可见的字段集。每个“步骤”都有一个提交按钮,所以我希望有以下几点:

$('#step-1-button').on('click', function(e){
    $('#step-1-fieldset').validationEngine('validate', {
    onValidationComplete: function(form, status){
        if(status){ goToNextStep() });
    }
});

任何帮助将非常感激!

4

3 回答 3

2

我不确定validationEngine插件是如何工作的——但是快速阅读文档表明您可以对单个元素调用“验证”操作,并且只验证可以使用jquerys Filter方法的可见字段集。

我会说类似

$('#step-1-button').on('click',function(e) {
       e.preventDefault(); 
       var inputs = $('fieldset').filter(':visible').find('input');
       $.each(inputs,function() { 
            $(this).validationEngine('validate');
       });
});

会工作。

当您通过可见字段集进行过滤时,无论单击哪个按钮,您还可以将事件附加到通用选择器 - 类似于 $('.step-button') - 这将阻止您编写单独的事件处理程序4 步表单中的每个按钮都将有助于保持代码干燥。

于 2013-03-06T10:40:09.503 回答
0

我认为在您的情况下使用带有验证的stepy 表单也不错。它也支持ajax。
像步骤 1,2,3.. + 验证这是你想要的
Demo

于 2013-06-04T15:03:00.250 回答
0

仅验证表单的一部分的另一种方法是以编程方式添加和删除一个类,例如“必需”。然后在“.required”字段上运行验证。当您浏览表单的四个步骤时,从所有元素中删除所需的元素,然后仅重新应用到需要验证的可见元素。jquery 验证插件的好处是您不需要在 DOM 更改时重新运行它,它会在更新时自动跟踪必需和非必需字段。

于 2013-03-06T15:46:04.563 回答