表单JavaScript数组

表单JavaScript数组,javascript,html,css,input,Javascript,Html,Css,Input,我正在使用一段代码,它通过JavaScript变量数组进行过滤,并根据输入定位用户。我现在看到的是,如果输入了任何变量,用户将被重定向到index.php,我想要的是如果输入了数组的项目1,您将被定向到main.html,输入了项目2,您将被定向到index.html等。下面是我已经看到的代码: var variable = ["1", "2", "3"]; function validateForm() { var x = do

我正在使用一段代码,它通过JavaScript变量数组进行过滤,并根据输入定位用户。我现在看到的是,如果输入了任何变量,用户将被重定向到index.php,我想要的是如果输入了数组的项目1,您将被定向到main.html,输入了项目2,您将被定向到index.html等。下面是我已经看到的代码:

var variable = ["1", "2", "3"];

function validateForm() {
  var x = document.forms["myForm"]["value"].value;
  if (variable.indexOf(x) == -1) {
    alert("No variable in array entered");
    return false;
  }

  var x = document.forms["myForm"]["value"].value;
  if (variable.indexOf(x) != -1) {
    window.location.href = "index.php";

    return false;
  }    
} 

您可以将具有授权值的对象用作键,将文件用作值:

var variable = {
  1: 'index.php', 
  2: 'main.html', 
  3: 'index.html'
};

function validateForm() {
  var x = document.forms["myForm"]["value"].value;
  const file = variable[x];
  if (file)
    window.location.href = file
  else 
    alert("No variable in array entered");
}

is
myForm
的名称/id您没有说您遇到了什么问题您为什么使用
var
而不是
let
const
?你为什么要重新说明
x
?为什么不将
else'或
else if`与
if
结合使用?