Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中进行三次错误尝试后,触发对表单提交页面的重定向_Javascript_Jquery_Html - Fatal编程技术网

在Javascript中进行三次错误尝试后,触发对表单提交页面的重定向

在Javascript中进行三次错误尝试后,触发对表单提交页面的重定向,javascript,jquery,html,Javascript,Jquery,Html,我有一个带有优惠券字段的页面,该页面应该允许三次不正确的尝试,然后必须重定向到另一个页面。我试着设置计数器,但没能成功。请提供以下代码的帮助 function validateCoupon() { var couponkey = ["ABCDEF1", "ABCDEF2", "ABCDEF3", "ABCDEF4", "ABCDEF5", "ABCDEF6", "ABCDEF7"]; var keyinput = $('#COUPON').val().trim().toUpperCa

我有一个带有优惠券字段的页面,该页面应该允许三次不正确的尝试,然后必须重定向到另一个页面。我试着设置计数器,但没能成功。请提供以下代码的帮助

function validateCoupon() {

  var couponkey = ["ABCDEF1", "ABCDEF2", "ABCDEF3", "ABCDEF4", "ABCDEF5", "ABCDEF6", "ABCDEF7"];

  var keyinput = $('#COUPON').val().trim().toUpperCase();


  if (couponkey.indexOf(keyinput) > -1) {

    return true;
  } 
else {
    alert("Invalid Key");
    return false;
  }
}

三次尝试失败后,我想重定向到另一个页面

您是否可能将计数器放在函数内部?这可能会在每次调用函数时重置它。您可以将计数器保持在函数范围之外

试试这个

let timesAttemped = 0;

function validateCoupon() {

  var couponkey = ["ABCDEF1", "ABCDEF2", "ABCDEF3", "ABCDEF4", "ABCDEF5", "ABCDEF6", "ABCDEF7"];

  var keyinput = $('#COUPON').val().trim().toUpperCase();


  if (couponkey.indexOf(keyinput) > -1) {

    return true;
  } 
  else if (timesAttempted < 3) {
    alert("Invalid Key");
    timesAttempted++
    return false;
  } else if (timesAttempted === 3) {
    window.location.href = "http://www.lolrofl.com" // any redirect logic here
  }
}
let timescheduled=0;
函数validateCoOn(){
var couponkey=[“ABCDEF1”、“ABCDEF2”、“ABCDEF3”、“ABCDEF4”、“ABCDEF5”、“ABCDEF6”、“ABCDEF7”];
var keyinport=$('#优惠券').val().trim().toUpperCase();
if(耦合键索引of(键输入)>-1){
返回true;
} 
否则如果(尝试的时间<3){
警报(“无效密钥”);
尝试的时间++
返回false;
}否则如果(尝试的时间===3){
window.location.href=”http://www.lolrofl.com“//这里有重定向逻辑吗
}
}

您可以通过关闭在不污染全局范围的情况下完成此操作:

function couponValidator() {
  var couponkey = ["ABCDEF1", "ABCDEF2", "ABCDEF3", "ABCDEF4", "ABCDEF5", "ABCDEF6", "ABCDEF7"];
  var attempts = 3;

  return function () {
    var keyinput = $('#COUPON').val().trim().toUpperCase();

    if (couponkey.indexOf(keyinput) > -1) {
      return true;
    } 
    else if (--attempts <= 0) {
      window.location.href = "your_url"
    } else {
      alert("Invalid Key");
      return false;
    }
  }  
}

var validate = couponValidator();
函数耦合验证器(){
var couponkey=[“ABCDEF1”、“ABCDEF2”、“ABCDEF3”、“ABCDEF4”、“ABCDEF5”、“ABCDEF6”、“ABCDEF7”];
var=3;
返回函数(){
var keyinport=$('#优惠券').val().trim().toUpperCase();
if(耦合键索引of(键输入)>-1){
返回true;
} 

否则如果(-尝试使用计数器时您尝试了什么?我正在使用eclipse for JSP、JSTL和javascript进行页面验证,“let”未被识别。之前我将计数器设置为3并递减,我尝试了您的方法…“TimeScheduled”最初必须设置为1,因为第三次尝试shud alert,然后重定向。在第二次else if语句中,我必须重新设置rn false(不知道为什么)如果不是的话,它会在没有显示数据的情况下感谢你的页面。非常感谢你的帮助!向上投票!!!非常感谢!我最初尝试了递减,但没有(-)尝试