参考网址:https://blog.csdn.net/qq_36938933/article/details/77978724
原来的代码
<form action="Index">
<button class="btn btn-info pull-right margin_right12" onclick="exportExcel();">
导出列表
</button>
</form>
js方法
function exportExcel() {
window.location.href = '/Grid/ExportGridList';
//window.event.returnValue = false;
}
每次点击导出都是直接刷新页面
解决方法:
1、在window.location.href下面加上window.event.returnValue = false;
2、在exportExcel();方法后面加上return false;
3、把那个导出列表按钮移出form表单
摘抄下参考文章的两句关于1和2的总结及网上查询
通过window.event.returnValue=false;
作用:当捕捉到事件(event)时,判断为false,阻止当前事件继续运行作用;放在超链接中则不执行超链接;
window.event.returnValue=false放在提交表单中的onclick事件中则不会提交表单,如果放到超链接中则不执行超链接,也就是它禁止了或取消了请求,没有任何效果。
return false
作用:不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。
注意:οnclick=""事件相当于 οnclick=return true/false ,此时不管function ok(){return false} ,在οnclick="ok()",都是直接返回ture的,所以,它依旧是默认执行下去。