jQuery 在未来表单上进行验证

标签 jquery jquery-validate

我正在使用 jQuery 验证插件来验证表单。我的问题是表单是动态生成的,因此当页面首次加载时它还不存在。我不确定如何做到这一点,或者是否可以做到。这是我的代码,只要我对表单进行硬编码,它就可以工作。

$(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() 函数想出一些东西,但到目前为止我尝试过的都没有成功。我想要完成的事情可以完成吗?最坏的情况是我对表单进行硬编码,但如果可能的话我想避免这样做。

提前致谢...

最佳答案

我假设表单是使用 ajax 连接加载的。有一个回调来查找表单并在之后调用 validate() 函数。

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

关于jQuery 在未来表单上进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961659/

相关文章:

javascript - 如何在 3 秒内自动隐藏弹出窗口。

jquery - 为什么 jQuery 的 "on"比 "live"更好

javascript - Google Map jQuery - 从鼠标点击获取 LatLng

javascript - 点击关闭 Div 在 Chrome 中不起作用,但在所有其他浏览器中都起作用

javascript - 如何通过 javascript 或 jquery 隐藏源代码和检查元素?

javascript - Express:jQuery 验证不起作用

javascript - JQuery 验证插件 submitHandler 对我不起作用

jquery - jquery 验证中是否存在 min ="0"的错误?或者我忽略了什么?

javascript - 使用 Jquery 验证插件进行行验证

internet-explorer - Internet Explorer 中的 jQuery 加载问题