var a = new Array[
  '111','222','333','444','555','666'
];
var b = a.indexOf(input.value);  
if(b == '-1'){
  alert("您输入的激活码无效!");
  input.value = "";
  input.focus();
  return false;
  }else{
    a.splice(b,1); //这里判断激活码正确就删掉数组中刚输入过的那一个,但是好像哪里不对,小白求解或者有什么正确的思路吗?感谢!
  }

解决方案 »

  1.   

    a数组应该是
    var a = new Array('111','222','333','444','555','666');
    或者
    var a = ['111','222','333','444','555','666'];
    并且要是全局变量,不要放函数里
      

  2.   

    我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢
     a.splice(b,1);不就是删除数组里用过的激活码么
      

  3.   

    我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢
     a.splice(b,1);不就是删除数组里用过的激活码么
    删除不了啊,代码跑一边之后111还在数组里面
      

  4.   

    我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢
     a.splice(b,1);不就是删除数组里用过的激活码么
    删除不了啊,代码跑一边之后111还在数组里面如果是全局变量应该没问题,你是不是刷新页面了。
    注意,<button></button>按钮在form标签中默认是提交表单(刷新页面)的。
      

  5.   

    我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢
     a.splice(b,1);不就是删除数组里用过的激活码么
    删除不了啊,代码跑一边之后111还在数组里面如果是全局变量应该没问题,你是不是刷新页面了。
    注意,<button></button>按钮在form标签中默认是提交表单(刷新页面)的。

    是啊就是要刷新页面啊,项目是类似推广页,会有不同用户来激活,要保证激活码的唯一性。这个有什么办法解决吗?