Javascript getElementById().value returns 输入元素未定义
Javascript getElementById().value returns undefined on input elements
我正在尝试制作一个小型 Web 应用程序,我需要从输入元素中获取值并将它们推送到一个数组中,次数不定。
我第一次这样做 returns undefined
,第二次它推送第一个值 x1 和 x2 的次数,但不是第二个值。
list
和entree
是全局变量。
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>
我正在尝试制作一个小型 Web 应用程序,我需要从输入元素中获取值并将它们推送到一个数组中,次数不定。
我第一次这样做 returns undefined
,第二次它推送第一个值 x1 和 x2 的次数,但不是第二个值。
list
和entree
是全局变量。
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>