My form onSubmit
正在呼叫:
onsubmit="validate(this); return false;"
validate();
如下:
function validate(obj) {
$.ajax({
url : "ajax/validate_check.php",
type : "POST",
data : $("#" + obj.id).serialize(),
success : function(data) {
$('#' + obj.id + ' :input.form_errors').removeClass('form_errors')
data = $.parseJSON(data);
if(data['error_count'] >= 1) {
$.each(data, function(i, item) {
$('#' + i).addClass('form_errors');
});
} else {
$('#' + obj.id).submit();
}
}
});
}
当我有0
错误它试图提交表单,但我遇到了无限循环。我意识到这一切的发生是因为我的onSubmit
再次调用该函数。准备好后如何实际提交表格?
EDIT:
我只是在寻找解决这个问题的最佳方法。我想验证onSubmit
为了快速响应用户,然后我想实际提交表单,这样我就知道数据的去向(例如,register.php 将注册用户)。
这就是为什么我不执行组合操作/验证脚本的原因,因为我不知道我要提交哪个表单。我可能需要重新安排我这样做的方式。
Remove onsubmit="validate(this); return false;"
并使用以下函数:
$('form').submit(function(e){
e.preventDefault();
var $form = $(this),
$formId = $form.attr('id'),
$formName = $form.attr('name');
$.ajax({
url : "ajax/validate_check.php",
type : "POST",
data : $("#" + $formId).serialize(),
success : function(data) {
$('#' + $formId + ' :input.form_errors').removeClass('form_errors')
data = $.parseJSON(data);
if(data['error_count'] >= 1) {
$.each(data, function(i, item) {
$('#' + i).addClass('form_errors');
});
} else {
document.forms[$formName].submit();
}
}
});
});
可以在其中使用表单进行测试的地方id
or name
: http://jsfiddle.net/67rvg/3/ http://jsfiddle.net/67rvg/3/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)