我有一个带有一些ajax验证字段的表单。(并非所有字段都使用ajax验证)
如果其中一个字段出错,我想阻止表单提交。
我希望它对于我使用ajax验证的其他表单是通用的。
1旗帜不会起作用。
这就是ajax字段在出错时的样子:
<label id="id_name_lab" class="error">name</label>
<input id="id_name" type="text" maxlength="128" name="name">
<label id="id_name_succ_icn" class="icon_succ" style="display: none;"></label>
<label id="id_name_load_icn" class="icon_load" style="display: none;"></label>
答案 0 :(得分:0)
使用Jquery:
$("form").submit(function(e) {
e.preventDefault();
return false;
});
没有jquery:
return false;
在表单的onsubmit元素上。
答案 1 :(得分:0)
我的想法是使用回调链。
伪码
$("form").one( "submit", function() {
var self = this;
// ajax validation
$.ajax( /* ... */ )
.done( function() {
// call validation, if form is valid, ajaxValidation calls submit again.
ajaxValidation( self );
});
// first submit is always ignored.
e.preventDefault();
return false;
});
function ajaxValidation( target ) {
// check valid & call submit
}
,如果需要,它需要上面的绑定提交处理程序。