具有虚拟页面视图的JQuery验证器

时间:2016-05-13 17:18:15

标签: jquery jquery-validate

我正在制作一个包含某些表单的目标网页,并且我使用JQuery验证程序验证每个表单上的输入,问题是两个表单应该具有相同的ID和类,并且他们通过他们的班级进行验证


       col C        col D
    1000016932   1000020056
    1000016932   1000020100
    1000016932   1000020144
    1000016932   1000020243
    1000020056   1000020100
    1000020056   1000020144  ...and so on

所以这个类有两个表单,在你填充第一个表单后,它只是显示/隐藏显示第二个表单,它只是第一个表单的扩展。然后,它将整个虚拟页面视图发送到Google Analytics。这就是它在Theory中应该如何工作,缺点是当我填写第一个表格并转到第二个表格时,JQuery验证器停止工作。

有什么方法可以实现这一点而无需进行更多单独的验证?

2 个答案:

答案 0 :(得分:0)

在没有完整代码的情况下排除故障有点困难,但您可以尝试以下方法。

 $('form').each(function() {  
        $(this).validate({       // initialize plugin on each form
            // global options for plugin
        });
    });

来自Validation plugin - Auto validate multiple forms on a page

的回答

答案 1 :(得分:0)

  

“...问题是两个表单应该具有相同的ID和类,并且它们通过类来验证......”

如果要在页面上的多个表单上初始化插件,则需要使用.validate()包装.each()方法。

$('form.contact-1').each(function() {
    $(this).validate({
        // global rules & options for all forms
    });
});

Official Documentation

  

该插件每次调用只能处理一种形式。如果您要在单个页面上有多个要验证的表单,则必须单独初始化它们

重要:如果您确实在两个表单上使用相同的id,那么这是无效的HTML ,因此跨浏览器不可靠,任何JavaScript都可能失败或无法预测。如果您无法使每个id唯一,那么请完全删除id并完全依赖class指定,该指定旨在重复。

工作演示:http://jsfiddle.net/n9Lup2dy/