昨天下午一直纠结一个问题,表单无法提交,代码是这样的:

var deleteDialog = $("#dialog-confirm-delete").show().dialog({

resizable : true,

closable: true,

draggable: true,

width: 280,

height : 150,

modal : true,

buttons:[{

text:'确认删除',

handler:function(){

var deleteAction = getAction("structure/deleteMainDanElement.do");

$("#form_delete").attr('action',deleteAction);

$("#form_delete").submit();

refresh();//注意看这里

}

},{

text:'取消',

handler:function(){

$('#dialog-confirm-delete').dialog('close');

}

}]

});

deleteDialog.dialog("open");

//这里是refresh方法

function refresh(){

//刷新页面

location.reload()

}

html里面是这样的:

路径确认没问题,别人看代码也看不出什么问题,打开F12一直查一直查,真查不到问题,network没有东西、console也没有东西,后台打的断点又跳不进去。

直到今天有点事情耽搁了,前端断点停了几分钟,意外发现跳转进去了。这才醒悟过来,这是前端刷新太快了,还没来得及请求就已经刷新了。找了一会儿,没有找到form的submit回调方法,后选用ajax提交。修改的代码是这样的:

这个还是提醒了我,前端调试的时候务必注意异步同步的问题。这样导致调试了一下午,确实是浪费时间了。