如何停止JQuery提交,然后运行ajax验证,然后提交表单
我有一个表格,我想在提交前验证 我尝试了stackoverflow的不同解决方案,但没有以下代码可以使用 一切正常时,我无法提交表格如何停止JQuery提交,然后运行ajax验证,然后提交表单,jquery,ajax,forms,submit,preventdefault,Jquery,Ajax,Forms,Submit,Preventdefault,我有一个表格,我想在提交前验证 我尝试了stackoverflow的不同解决方案,但没有以下代码可以使用 一切正常时,我无法提交表格 $('#form1').submit(function(e) { e.preventDefault(); var xxx = $('#xxx').val(); var yyy = $('#yyy').val(); var zzz = $('#zzz').val(); var uuu = $('#uuu').val();
$('#form1').submit(function(e) {
e.preventDefault();
var xxx = $('#xxx').val();
var yyy = $('#yyy').val();
var zzz = $('#zzz').val();
var uuu = $('#uuu').val();
var data_string = 'uuu=' + uuu;
if (zzz != '000000' && zzz != '') {
$.ajax({
url: 'ajax.php',
type:'POST',
data: data_string,
dataType: 'json',
cache: false,
success: function(response){
if (response == false) {
if (xxxl == '') {
alert("Text!");
}
else if (yyy == '') {
alert("Text!");
}
else {
$(this).trigger('submit');
}
}
}
});
}
else {
$(this).trigger('submit');
}
});
将jQuery提交函数绑定到表单元素 像
逻辑上返回true或false。好的,我终于自己解决了这个问题。 我做了两个不同的函数。 一个用于提交,另一个用于ajax。 下面是一个例子:
$('#form1').submit(function(event) {
var xxx = $('#xxx').val();
var yyy = $('#yyy').val();
var zzz = $('#zzz').val();
var uuu = $('#uuu').val();
if (zzz != '000000' && zzz != '') {
validate_brutokaal(uuu, function(response) {
if (response === false) {
if (xxx == '') {
alert("Text!");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
else if (yyy == '') {
alert("Text!");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
}
else {
return true
}
});
}
else {
return true;
}
});
function validate_xxxyyy(uuu, callback) {
var data_string = 'uuu=' + uuu;
$.ajax({
url: 'ajax.php',
type:'POST',
data: data_string,
dataType: 'json',
cache: false,
async: false,
success: function(response){
callback(response);
}
});
}
我删除了默认值并添加了async:false。然后,我在警报(“文本”)之后添加了return false,并将$(this.trigger('submit')替换为return true;。现在我收到了警报“Text!”,但表单仍然提交。当我在警报之前返回false(“Text!”)时,表单只提交,没有警报。
$('#form1').submit(function(event) {
var xxx = $('#xxx').val();
var yyy = $('#yyy').val();
var zzz = $('#zzz').val();
var uuu = $('#uuu').val();
if (zzz != '000000' && zzz != '') {
validate_brutokaal(uuu, function(response) {
if (response === false) {
if (xxx == '') {
alert("Text!");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
else if (yyy == '') {
alert("Text!");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
}
else {
return true
}
});
}
else {
return true;
}
});
function validate_xxxyyy(uuu, callback) {
var data_string = 'uuu=' + uuu;
$.ajax({
url: 'ajax.php',
type:'POST',
data: data_string,
dataType: 'json',
cache: false,
async: false,
success: function(response){
callback(response);
}
});
}