Javascript 表单提交在AJAX之前完成,没有“alert()”
我有一个页面,它使用AJAX从php脚本调用一些html。在这种html中,有许多具有唯一id的特定类的形式。单击submit按钮后,需要通过AJAX将表单提交到php脚本,这样页面就不会重新加载或重定向 我遵循了许多教程的示例,它们都很有效。。。如果我在$document.readyfunction{…}中抛出警报;这就把它们包起来了。我尝试过至少三到四种方法,结果总是一样的。在“准备就绪”中没有警报的情况下,表单将发布到当前页面 因此,我要寻找的是在调用发送POST的函数之前抛出警报的修复方法,因为没有它,POST不会被AJAX捕获,只会发布到当前的.php文件 阿贾克斯 HTMLJavascript 表单提交在AJAX之前完成,没有“alert()”,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个页面,它使用AJAX从php脚本调用一些html。在这种html中,有许多具有唯一id的特定类的形式。单击submit按钮后,需要通过AJAX将表单提交到php脚本,这样页面就不会重新加载或重定向 我遵循了许多教程的示例,它们都很有效。。。如果我在$document.readyfunction{…}中抛出警报;这就把它们包起来了。我尝试过至少三到四种方法,结果总是一样的。在“准备就绪”中没有警报的情况下,表单将发布到当前页面 因此,我要寻找的是在调用发送POST的函数之前抛出警报的修复方
不确定到底是什么问题,但您的js可以简化:
$(document).ready(function() {
$('body').on('submit', '.delete_form', function (ev) {
ev.preventDefault();
$.ajax({
type: "POST",
url: "deleter.php",
data: $( this ).serialize(),
success:function(data){
alert(data);
},
error:function(data){
alert(data);
},
});
});
});
编辑您正在通过ajax加载表单,对吗?在这种情况下,必须将函数绑定到父元素体。查看我的语法更改。只需将此方法从文档就绪部分中删除即可
$('.delete_form').on('submit', function (event) {
event.preventDefault();
formSubmit(this);
});
我想是时间问题。这就是无法删除警报的原因。 将脚本更改为
function delete_form_init(){
$('.delete_form').on('submit', function (event) {
event.preventDefault();
formSubmit(this);
}
function formSubmit(form) {
var element = $(form);
var id = element.attr("id");
var form = new FormData($('#' + id)[0]);
$.ajax({
type: "POST",
url: "deleter.php",
data: form,
cache: false,
contentType: false,
processData: false,
});
}
$(document).ready(function () {
delete_form_init();
});
})
这样,函数delete\u form\u init将在.ready调用它之前插入到模型中尝试在ready中写入formSubmit函数,只需检查一下:|我在.ready中编写了formSubmit,并留下了相同的结果。请检查下面的解决方案,如果有人想了解和阅读更多内容,请检查这不起作用。我已经准备好从医生身上取下了那些精确的线。第节,其他内容保持不变。相同的问题。尝试使用此。即使有警报也不起作用。@user3589547然后其他东西在某处干扰了。可能页面上还有其他js?请检查浏览器中的javascript控制台是否有错误控制台显示getPreventDefault已弃用警告http://code.jquery.com/jquery-1.9.1.js. 没有其他错误,通过警报,一切正常。。。请参阅我正在使用的当前代码集的问题编辑。@user3589547如果完全删除getImages函数会发生什么情况?我对这个回答充满希望,根据我读过的其他教程,它似乎是有意义的,但愚蠢地没有将url保存到。但是这不起作用。。。不过,既然你有一个浮动的};,你能再检查一遍代码吗;。。。这是这一页上唯一的表格吗。如果您不介意,您可以终止所有表单$document.ready函数{$form.submit函数e{e.preventDefault;};};
$(document).ready(function() {
$('body').on('submit', '.delete_form', function (ev) {
ev.preventDefault();
$.ajax({
type: "POST",
url: "deleter.php",
data: $( this ).serialize(),
success:function(data){
alert(data);
},
error:function(data){
alert(data);
},
});
});
});
$('.delete_form').on('submit', function (event) {
event.preventDefault();
formSubmit(this);
});
function delete_form_init(){
$('.delete_form').on('submit', function (event) {
event.preventDefault();
formSubmit(this);
}
function formSubmit(form) {
var element = $(form);
var id = element.attr("id");
var form = new FormData($('#' + id)[0]);
$.ajax({
type: "POST",
url: "deleter.php",
data: form,
cache: false,
contentType: false,
processData: false,
});
}
$(document).ready(function () {
delete_form_init();
});