form 表单中 button 按钮点击自动提交的问题
点击确认按钮,form 表单提交 2 次,发送后台 2 次请求。
<button id="btnSubmit" name="btnSubmit" class="btn btn-primary">确认</Button>
按钮点击提交事件:
$("#btnSubmit").click(function () {
$('#formSave').ajaxSubmit(function (data) {
if (data.code == 0) {
$.alert({
title: '提示!',
content: '添加成功!'
});
}
});
});
执行错误代码,后台总是会请求 2 次,而且页面总是会跳转至一个黑页面。
已采纳
百度原因如下:
在 ie 中,html button 默认的
type
是button
,而其他浏览器和 W3C 标准中 button 默认的属性都是submit
。所以在 form 表单中不指定 button 按钮的
type
属性的话,除了 IE 浏览器,默认都是submit
,所以点击的时候会有一个默认的表单提交行为。问题解决。
还有一种方法,没有试过:
给
button
指定onClick
事件的时候添加return false;
。这样它就不会执行默认表单提交了。如果不喜欢这样处理,也可以在 js 按钮触动代码末尾中添加
return false;
同样可以达到相同效果。