我正在使用jquery工具验证插件进行客户端表单验证。 我有一个javascript文件,可以在下面加载以下功能。
我正在做的是,我正在加载表格,当成功验证并提交时, 我加载另一个表单,并希望下面的函数处理任何正在加载的表单 在if(json.success&& json.next)语句块中。
由于某种原因,当加载第二个表单时,验证程序不会被重新绑定到 新表单的类(.signup_form),并且不会进行验证。
任何想法如何我可以附加一个$ .live或任何东西,所以它会自动重新绑定到成功后加载.signup_form类的任何形式?
/* For clarification: json.next is the url of the next form to load */
$(".signup_form").validator({
position: 'top left',
offset: [-12, 0],
message: '<div><em/></div>' // em element is the arrow
}).submit(function(e) {
var form = $(this);
// client-side validation OK.
if(!e.isDefaultPrevented()) {
// submit with AJAX
$.post(form.attr('action'), form.serialize(), function(json) {
// everything is ok. (server returned true)
if (json.success && json.next) {
form.parent().parent().load(json.next); // Slide here
form.reset();
// server-side validation failed. use invalidate() to show errors
} else {
form.data("validator").invalidate(json);
}
}, "json");
// prevent default form submission logic
e.preventDefault();
}
});
非常感谢任何帮助。 Ť
好的,我想通了...... geez非常明显。
所以我上面的所有代码都在
中form_listener = function() {}
块。
现在我需要做的就是在加载新表单后调用表单监听器:
.
.
// everything is ok. (server returned true)
if (json.success && json.next) {
form.parent().parent().load(json.next, function(){
form_listener();
});
.
.
甜。