Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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_Arrays_Input - Fatal编程技术网

如何在Javascript中获取用户输入并添加到数组中?

如何在Javascript中获取用户输入并添加到数组中?,javascript,arrays,input,Javascript,Arrays,Input,我有一个我正在努力开发的页面,它将接受用户输入,然后将其添加到一个数组中,然后接受该数组并从中创建一个选择和选项列表 <!DOCTYPE> <html> <head> <script> var option_list = []; // for loop at thats option_list to select select tag for (var i = 0; i < option_list.length; i++){ v

我有一个我正在努力开发的页面,它将接受用户输入,然后将其添加到一个数组中,然后接受该数组并从中创建一个选择和选项列表

<!DOCTYPE>
<html>
<head>
<script>
 var option_list = [];
   // for loop at thats option_list to select select tag
 for (var i = 0; i < option_list.length; i++){
  var opt = option_list[i];
  var option = document.createElement("option");
  var select = document.getElementById("select");     
  option.setAttribute("id", opt); //Adding ID to the option list
  option.setAttribute("class", "intersect-option"); // adds classes to option
  option.value(opt); // adds value to option list 
  select.appendChild(option); // Adds option to the list.

} 
function add_option(name){
var name = document.getElementById("name").value;
name.push(option_list());
}
</script>
</head>
<body>
 <input type="text" id="name" value="">
 <input type="button" onclick="add_option()" value="add person">
 <select id="select">
</select>

</body>
</html>

var选项列表=[];
//用于在该选项处循环\u列表以选择标记
对于(变量i=0;i
我遇到的问题是,当我尝试输入我得到的信息时

未捕获类型错误:选项列表不是函数

在添加选项(selectTest.html:19)

在HTMLInputElement.onclick(selectTest.html:25)


我不确定我做错了什么,任何帮助都将不胜感激

您应该将
name
推入选项列表数组。正确的语法是
option\u list.push(name)


将元素推入数组的方式与此相反:

option_list.push(name);

正如它所说的,option_list不是一个函数,标识符后面的平衡圆括号在C系列语言中表示函数调用,因此option_list()不是一个有效的表达式

此外,您真的打算从零循环到空数组的长度(等于零)?



var选项列表=[];
//用于在该选项处循环\u列表以选择标记
var select=document.getElementById(“select”);
函数添加选项(名称){
var name=document.getElementById(“name”).value;
var option=document.createElement(“选项”);
var label=document.createTextNode(名称);
option.setAttribute(“id”,name);//将id添加到选项列表中
option.setAttribute(“类”、“相交选项”);//将类添加到选项
option.value=name;//向选项列表添加值
选项。追加子项(标签);
select.appendChild(option);//将选项添加到列表中。
}

您正试图调用脚本最后一行中的函数(
name.push(option\u list());
)。正确的语法应该是
选项列表。按(名称)
。如果您觉得它有用,可能会重复。请勾选它作为答案。
option_list.push(name);
name.push(option_list());
    <!DOCTYPE>
    <html>
    <head>

    </head>
    <body>
     <input type="text" id="name" value="">
     <input type="button" onclick="add_option()" value="add person">
     <select id="select">
    </select>
    <script>
     var option_list = [];
       // for loop at thats option_list to select select tag

     
      var select = document.getElementById("select");     

    function add_option(name){
    var name = document.getElementById("name").value;
     var option = document.createElement("option");
      var label = document.createTextNode(name);
      option.setAttribute("id", name); //Adding ID to the option list
      option.setAttribute("class", "intersect-option"); // adds classes to option
      option.value = name; // adds value to option list 
      
      option.appendChild(label);
      select.appendChild(option); // Adds option to the list.
    }



    </script>
    </body>
    </html>