今天在弄一个ajax提交表单的功能,发现在form上写了onsubmit属性,指向的js方法中用jquery的$.ajax()方法提交表单。
问题:发现总是弹出提示下载。在火狐中调试的时候发现提交了两次。
分析:如果在onsubmit中不return false的话,onsubmit不会阻止表单提交事件,所以表单正常提交了一次,我又通过ajax方法提交了一次,导致问题的出现。
解决:在form的onsubmit属性对应的js方法前面加上return,然后在js方法里return false;就可以阻止默认的表单提交事件了。
例子:
<form method="post" action="xxx.do" onsubmit="return subForm(this);">
</form>
function subForm(){
$.ajax(...);
return false;//返回false,阻止表单提交
}
本文介绍了一个关于Ajax提交表单时遇到的问题及解决方案。当在form标签中使用onsubmit属性并调用包含$.ajax()方法的JavaScript函数时,可能会导致表单被重复提交。文章详细解释了问题产生的原因,并提供了解决方案。
229

被折叠的 条评论
为什么被折叠?



