js解决按钮被多次点击的问题(微信支付-支付提交)

下面是我在微信支付项目中遇到的一个致命的问题以及解决的方法,希望大家给出宝贵的意见。
  1. 问题
    在微信网页支付过程中,当多次点击“立即支付”的按钮,会跳出多个微信支付的界面,用户必须依次关闭各个界面,还会出现手机卡死的现象,这无疑是一个致命的问题,严重影响用户的体验。
  2. 解决方法
    在这里我使用的方法是:采用标志来判断,每次点击都要对这个标志进行判断。一段时间后对标志进行复位。具体的代码如下:
<a id="submit" class="hot-btn mar_0_10 mar_b_20" onclick="jspay123();">立即支付</a>
<script type="text/javascript">

    var clicktag = 0;  //标志
    function jspay123() {
         var openid = "${openid}";
         var money = $("#MONEY").val();                                
         var name = $('#name').val();
         var id = $('#jiqi').val();
          if (clicktag == 0) {  //判断标志
              clicktag = 1;   //进行标志,防止多次点击
              $.post("/pub/ajax/", {openid:openid,money:money,name:name,id:id}, function(data){
              var appId = data.appId;
              var timeStamp = data.timeStamp;
              var nonceStr = data.nonceStr;
              var wxPackage = data.wxPackage;
              var signType = data.signType;
              var paySign = data.paySign;
              var name = data.name;
              var id = data.id;
              var money1 = data.money;
              pay(appId,timeStamp,nonceStr,wxPackage,signType,paySign,name,id,money1);
        }, "json");   
            //5秒后复位标志,可以进行再次点击
             setTimeout(function () { clicktag = 0 }, 5000);  
         }  

    }
</script>
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值