如何设置支票,如果优惠券代码使用一次,则不允许在一次横切中第二次使用它

这是我的代码 html输入字段

 

脚本代码

  var lastval; function myFunction() { 

从数据库获取CouponDC,TicketypDC和CouponPrcDC

  var CouponDC = $('#dbcoupan').val(); var TicketypDC = $('#dbtckettype').val(); var CouponPrcDC = $('#dbprice').val(); var total_price = $('#total_price').val(); 

从输入中获取getcoupon

 var getcoupon = $("#couponadd").val(), txt='Invaild Coupon'; 

检查用户是否输入相同的优惠券

  if(getcoupon == lastval ) { alert('You Cant Enter Same Code Again'); } 

如果优惠券代码与数据库优惠券匹配

  else if (getcoupon == CouponDC ) { $amount=CouponPrcDC; total_price = total_price * ((100-$amount) / 100); 

如果匹配则从总数减去一些ammout

  total_price = Math.round(total_price); document.getElementById('Voucher_value').value = total_price; } 

如果coupo与数据库优惠券不匹配

  else if(getcoupon != CouponDC && getcoupon.length ==5 ) { alert('WRONG COUPON CODE'); } **store last value enter in input** lastval = getcoupon; $('#total_price').val(total_price); }  

您可以将其存储在一个数组中,并在继续前进之前检查它是否存在。

下面的伪代码:

 var couponArr = []; var getcoupon = $("#couponadd").val(); if($.inArray(getcoupon, couponArr) !== -1) { alert('Coupon already used, can\'t use again.'); } else { couponArr.push(getcoupon); // your code here.. } 

inArray返回数组中元素的索引,而不是指示数组中是否存在该项的布尔值。 如果未找到该元素,则返回-1

添加一个全局标记变量并将default设置为false,使用if条件包装代码需要运行,然后在运行代码中将其设置为true。

如:

 // in outer space var hasCodeRun = false; // in some function if (!hasCodeRun) { // run code here hasCodeRun = true; }