我正在使用 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/