Sol*_*d I 8 javascript forms ajax jquery
我想使用AJAX来确定表单的值是否可以接受(这不是表单验证).AJAX result
将确定表单是否已提交.
下面,你会看到,当表单提交并根据返回的内容(无论是空白这是可以接受的,或者这是不能接受的错误信息),我想我执行AJAX调用return true;
或return false;
将$("form").submit
.
我怀疑我的麻烦是在AJAX中success:
.请帮助我摆脱result
AJAX调用,以便我可以做类似的事情if (result == "") { return true; } else { return false; }
.
工作方式:
$("form").submit(function(e) {
e.preventDefault();
var form = this;
var tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false
}).done(function(result) {
if (result == "")
form.submit();
else
alert(result);
}).fail(function() {
alert('ERROR');
});
});
Run Code Online (Sandbox Code Playgroud)
原版的:
$("form").submit(function() {
var tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false,
success: function(result) {
alert(result);
},
error: function(result) {
alert(result); //This works as expected (blank if acceptable and error msg if not acceptable)
}
});
/*
if (result == "")
return true;
else
return false;
*/
return false; //this is here for debugging, just to stop the form submission
});
Run Code Online (Sandbox Code Playgroud)
ade*_*neo 22
由于ajax调用是异步的,您必须阻止表单提交,然后在返回结果时,检查它是否与条件匹配并使用本机提交处理程序提交表单,避免preventDefault()
在jQuery事件处理程序中:
$("form").submit(function(e) {
e.preventDefault();
var self = this,
tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false
}).done(function(result) {
if (result == "") self.submit();
}).fail(function() {
alert('error');
});
});
Run Code Online (Sandbox Code Playgroud)