關於頁面上一次點擊,發送多次請求的問題


今天在實現功能的時候發現了一個問題, 在做一個導入的時候,第幾次點擊導入按鈕,就會發送幾次請求到后台的問題

頁面標簽:

<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();               
            });
        },


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM