关于页面上一次点击,发送多次请求的问题

今天在实现功能的时候发现了一个问题, 在做一个导入的时候,第几次点击导入按钮,就会发送几次请求到后台的问题

页面标签:

<a href="javascript:void(0);"  class="dowload" οnclick="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();               
            });
        },

转载于:https://www.cnblogs.com/heganlin/p/5783320.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值