Javascript getElementById().value returns 输入元素未定义

Javascript getElementById().value returns undefined on input elements

我正在尝试制作一个小型 Web 应用程序,我需要从输入元素中获取值并将它们推送到一个数组中,次数不定。

我第一次这样做 returns undefined,第二次它推送第一个值 x1 和 x2 的次数,但不是第二个值。

listentree是全局变量。

function winner() 还没有被调用。

是的,我确实在按下任何按钮之前在两个输入中输入了一些内容。

var list = [];
var entree;

function addToList() {
  if (document.getElementById("Name")) {
    console.log("addToList triggered");
    entree = document.getElementById("Name").value
    for (i = 0; i < document.getElementById("Lose").value; i++) {
      list.push(entree);
    }
  }
}

function ausgeben() {
  for (j = 0; j < list.length; j++) {
    document.write(list[i] + " ");
  }
}
<label for="Name">Name</label>
<br>
<input type="text" name="Name" id="Name" maxlength="30">
<br>
<label for="Lose">Lose        </label>
<br>
<input type="Int" name="Lose" id="Lose" maxlength="40">
<br>
<button type="reset">Eingaben zurücksetzen</button>
<br>
<button onclick="addToList()">Eingaben absenden</button>
<button onclick="winner()">Los Ziehen</button>
<button onclick="ausgeben()">ausgeben</button>

您在 for 循环中使用 i 而不是 j,因此 undefined 因为 list[undefined]===undefined

var list=[], entree;
function addToList(){
    if(document.getElementById("Name")){
        console.log("addToList triggered");
        entree = document.getElementById("Name").value  
        for(i=0; i<document.getElementById("Lose").value; i++){
            list.push(entree);
        }
    }
}
function ausgeben(){
    for(j=0;j<list.length;j++){
    // you used i instead of j, hence "undefined"
        document.write(list[j] + " ");
    }
}
<label for="Name">Name</label> 
    <br>
    <input type="text" name="Name" id="Name" maxlength="30">
    <br>
    <label for="Lose">Lose        </label>  
    <br>
    <input type="Int" name="Lose" id="Lose" maxlength="40">
    <br>
    <button type="reset">Eingaben zurücksetzen</button>


<br>
<button onclick="addToList()">Eingaben absenden</button>
<button onclick="winner()">Los Ziehen</button>
<button onclick="ausgeben()">ausgeben</button>