我验证与阿贾克斯Zend的形式,并且已经提出了这一点:来自同一事件中触发jQuery的事件处理程序
$('#some-dialog-i-have form').live('submit', function(e) {
e.preventDefault();
MyClass.Form.Validate($(this), function() {
// I wish to submit the form from this callback function
$(this).trigger('submit');
});
});
凡MyClass.Form.Validate采取的形式和执行XHR请求检查表格是否有效。
我的问题是,如果它是有效的,我希望继续提交表单,但如果不是,请停止所有操作。触发该处理程序内的提交显然会导致递归问题;最好的办法是什么?
Form: {
Validate: function(form, onSuccess) {
$.ajax({
type: 'POST',
dataType: 'json',
url: '/ajax/form/validate',
data: form.serialize() + '&f=' + form.data('id')
}).done(function(errorMessages) {
if(errorMessages.count > 0) {
// Snip (display errors)
return false;
}
// Callback
onSuccess();
});
}
}
- 我大约stopPropagation已经,但是这将对现场处理程序没有任何影响
- 我知道现场()处理过时了,我忽视了改变的时刻
- 我想过干脆通过Ajax发帖的形式,但不知道如果我想这样做,这样
可能是一个简单的解决方案,但今天我的头是不是在正确的地方。
谢谢。
问题在哪里? – StaticVariable
问题在哪里? – StaticVariable
问题在哪里? – StaticVariable