采用<input type="image">标签时,如果未在<form action="***">实现表单提交的地址,而是采用该标签的.click(function(){})方法,进行ajax提交,此时可能出现重复提交的问题。
如:若没有给<form action="***">中的action幅值,在Google、IE等浏览器中,查看网页源代码时,会发现没有自动赋值,当在js中调用ajax提交url时,程序正常;而在360、火狐浏览器中,则会自动赋值为当前页面的地址,引起重复提交,程序跑不通!
解决方法:
经查看<input type="image">标签的用法:
不让其提交表单,需在在onclick 事件中添加一段“;return false;”的脚本,如下:<input type="image" name="imageField1" id="imageField1" src="../imp/_img_files/search.gif" οnclick="openTestList();return false;">
分析原因:在本例中,其实并没有采用提交表单,前台数据传送到后台是采用采用$("#id").val()利用ajax进行传送,故而必须关闭其提交表单的功能,否则会出项重复提交。
在本例中的解决方法即是在click()函数后加上:return false;