Ajax阻止表单重复提交

先说一下场景:有一个抽奖的活动,后台配置产品,每个产品被抽到的概率。在提交的时候,需要先验证概率有没有超过总和,如果超过了就不让表单提交,如果没有超过就正常提交,好了,场景说完了,下面正式代码

HTML部分:

<form action="a.php" method="post" οnsubmit="return submittest();">
       <div class="form-group">
          <label>中奖商品概率</label>
          <input type="text" name="probability" class="form-control probability" placeholder="请输入正整数" value="" />
          <label>注:概率填写必须是正整数,且相加为10000</label>
       </div>
       <div class="form-group">
          <label>抽奖商品数量</label>
          <input type="text" name="productnum" class="form-control" value="" />
       </div>
       <div class="form-group">
           <input type="submit" class="btn btn-success" value="提交"/>
       </div>
</form>
上面的form那里要注意
οnsubmit="return submittest();"

必须要加return。

提交按钮那里用input,不要用botton了


Javascript部分

<script type="text/javascript">
function submittest(){  
    var probability = $('.probability').val();
    var ajaxFlag=false;//用flag的方式,使得子函数$.ajax与主函数submittest()交互起来
    $.ajax({  
        type:"get",
        url:"b.php",
        async:false,//设置同步方式,非异步!  
        cache:false,//严格禁止缓存!  
        data:{  
            probability:probability
        },   
        success:function(data){  
            if(data == 1){  
                alert("概率错误");
                ajaxFlag=false;
            }else{
            	ajaxFlag=true;
            }  
        }  
    });
    if(!ajaxFlag){  
        return false;  
    }  
}
</script>
上面的这一句要注意:一定要先在ajax外面定义一个变量

var ajaxFlag=false;//用flag的方式,使得子函数$.ajax与主函数submittest()交互起来

php部分的代码就自己去写吧

这样就可以实现你要的效果了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值