今天在實現功能的時候發現了一個問題, 在做一個導入的時候,第幾次點擊導入按鈕,就會發送幾次請求到后台的問題
頁面標簽:
<a href="javascript:void(0);" class="dowload" onclick="contributionStatis_setting.exportExcel();">
js 代碼(問題代碼):
/**
* 導出
*/
exportExcel:function (ids){
$("#tipMask").show();
var statis_time = $("#search_time a[class=cur]").html();
if(statis_time == "全部"){
statis_time = " ";
}
//搜索關鍵字
//var keyword =$.trim($("#keyword").val());
// 時間
var search_time = $("#search_time a[class=cur]").attr("value");
var beginOn = $("#start").val();
var endOn = $("#end").val();
if (search_time!=undefined){
if (search_time==""){
beginOn =search_time;
}else{
beginOn = contributionStatis_setting.getdesignateDate(search_time);
}
endOn = contributionStatis_setting.getdesignateDate(0);
}else{
if (checkNull(beginOn)) {
tipDialog("fail","請選擇開始時間");
return;
}
if (checkNull(endOn)) {
tipDialog("fail","請選擇結束時間");
return;
}
}
$("#statis_contribution_export").show();
$("#statis_contribution_export_btn").click(function () {
$(".BoxWrap").hide();
$("#tipMask").hide();
window.document.exportform.action = WEB_URL + "/views/DataContributeList/statis_Contribute_excel?statis_time="+statis_time
+"&beginOn="+beginOn+"&endOn="+endOn+"&keyword="+keyword;
window.document.exportform.submit();
});
},
后來發現是 <a> 標簽綁定了 click 事件, 才一直疊加, 出現第幾次點擊, 發送幾次請求的問題, 解決方案是:
先解開綁定的 click 事件 .unbind('click') 然后在做綁定。
js 代碼(正確代碼):
/**
* 導出
*/
exportExcel:function (ids){
$("#tipMask").show();
var statis_time = $("#search_time a[class=cur]").html();
if(statis_time == "全部"){
statis_time = " ";
}
//搜索關鍵字
//var keyword =$.trim($("#keyword").val());
// 時間
var search_time = $("#search_time a[class=cur]").attr("value");
var beginOn = $("#start").val();
var endOn = $("#end").val();
if (search_time!=undefined){
if (search_time==""){
beginOn =search_time;
}else{
beginOn = contributionStatis_setting.getdesignateDate(search_time);
}
endOn = contributionStatis_setting.getdesignateDate(0);
}else{
if (checkNull(beginOn)) {
tipDialog("fail","請選擇開始時間");
return;
}
if (checkNull(endOn)) {
tipDialog("fail","請選擇結束時間");
return;
}
}
$("#statis_contribution_export").show();
$("#statis_contribution_export_btn").unbind('click').click(function () {
$(".BoxWrap").hide();
$("#tipMask").hide();
window.document.exportform.action = WEB_URL + "/views/DataContributeList/statis_Contribute_excel?statis_time="+statis_time
+"&beginOn="+beginOn+"&endOn="+endOn+"&keyword="+keyword;
window.document.exportform.submit();
});
},