我是一个 java/jquery 新手,正在努力解决以下问题:
$(document).ready(function() {
//Prevent SUBMIT if Session setting = On (Ajax)
$('#formID').submit(function(e) {
var prevent = false;
$.ajax({
type: "POST",
url: "url/to/ajax_file.php",
cache: false,
success: function(res){
if(res == "On") { alert('Session is ON so submit should be prevented'); prevent = true; }
}
});
if (stop2) { e.preventDefault(); }
});
});
session 设置返回正常,并显示警报。但如果 session 设置返回=“打开”,我也想阻止表单提交。这并没有发生。显然有一些我不明白的地方,有什么建议吗?
最佳答案
由于 ajax 请求的异步性质,您不能这样做,而是在提交处理程序中您需要直接阻止默认操作,然后在 ajax 处理程序中您可以通过编程方式提交表单。
$(document).ready(function() {
//Prevent SUBMIT if Session setting = On (Ajax)
$('#formID').submit(function(e) {
e.preventDefault();
var form = this;
$.ajax({
type: "POST",
url: "url/to/ajax_file.php",
cache: false,
success: function(res) {
if (res == "On") {
alert('Session is ON so submit should be prevented');
} else {
form.submit();
}
}
});
});
});
关于javascript - 无法阻止基于ajax检查的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35285586/