jQuery在将来的表单上验证

时间:2012-12-19 21:38:39

标签: jquery jquery-validate

我正在使用jQuery validate插件来验证表单。我的问题是表单是动态生成的,所以当页面首次加载时它还不存在。我不知道该怎么做,或者甚至可以做到。这是我的代码,只要我对表单进行硬编码,它就能正常工作。

$(document).ready(function() {
    var post_url = '##removed##';

    $("#form").validate({
        success: "valid",
        rules: {
            username: {
                required: true,
                minlength: 6,
                maxlength: 15,
                remote: {
                    url: post_url,
                    type: "post",
                    data: { type : 'username' }
                }
            },
            email: {
                required: true,
                email: true,
                remote: {
                    url: post_url,
                    type: "post",
                    data: { type : 'email' }
                }
            }
        },
        messages: {
            username: {
                remote: "Username taken. Please choose another."
            },
            email: {
                remote: "E-mail address taken. Please choose another."
            }
        }
    });

});

我试图用jQuery的on()函数来提出一些东西,但到目前为止我没有尝试过任何东西。即使我完成了我想要完成的事情吗?最糟糕的情况是我对表单进行了硬编码,但如果可能的话,我想避免这样做。

提前致谢...

1 个答案:

答案 0 :(得分:2)

我假设使用ajax连接加载表单。进行回调以查找表单并在之后调用validate()函数。

您还可以使用DOM突变事件(DOMNodeInserted)附加事件侦听器,并每次检查插入到DOM的节点是否是您正在等待的表单,然后运行validate()。希望这有帮助