Javascript 输入值-未定义或未显示
我正在编写DoList应用程序,但javascript代码有一些错误。所以问题是,当李出现时,它是“未定义的”,有时甚至是空白 HTMLJavascript 输入值-未定义或未显示,javascript,input,push,default-value,Javascript,Input,Push,Default Value,我正在编写DoList应用程序,但javascript代码有一些错误。所以问题是,当李出现时,它是“未定义的”,有时甚至是空白 HTML <section> <div class="list-app"> <ul id="list"> <li>Hell</li> </ul> <div class="bottom">
<section>
<div class="list-app">
<ul id="list">
<li>Hell</li>
</ul>
<div class="bottom">
<input type="text" name="game" placeholder="Type Your List">
<img src="add.png" id="add">
<img src="trash.jpg" id="remove">
</div>
</div>
</section>
- 地狱
和javascript
var remove = document.querySelector('#remove');
var add = document.getElementById('add');
var textPlace = document.querySelector('input');
var listSingle = document.querySelector('LI');
var input = document.getElementsByName('game');
var items = [''];
add.addEventListener('click', function() {
items.push = [input.value];
document.getElementById('list').innerHTML = '<li>' + items + '</li>';
})
var remove=document.querySelector('#remove');
var add=document.getElementById('add');
var textPlace=document.querySelector('input');
var listSingle=document.querySelector('LI');
var input=document.getElementsByName('game');
var项目=[''];
add.addEventListener('click',function(){
items.push=[input.value];
document.getElementById('list').innerHTML=''+items+' ';
})
不要介意其他代码它只是添加按钮的copped版本items变量是一个数组,最初是将空字符串添加为该数组中的第一项 在onclick函数中,引用该数组。该引用指向数组对象本身(而不是数组中的项或所有数组项的字符串) 我认为您在这里的目标是循环遍历数组中的每个项目,并为每个数组项目创建li元素,即沿着以下行的内容:
document.getElementById('list').innerHTML = “”; // reset list
Items.forEach(function(item){
document.getElementById('list').innerHTML += '<li>' + item + '</li>';
})
document.getElementById('list').innerHTML=“”;//重置列表
Items.forEach(功能(项目){
document.getElementById('list').innerHTML+=''+item+' ';
})
在我的自动取款机上,但当我回到我的办公桌时,我会输入一个正确的代码片段
编辑
添加了一个显示此工作状态的代码段。这纠正了问题中的几个拼写错误
var remove=document.querySelector('#remove');
var add=document.getElementById('add');
var textPlace=document.querySelector('input');
var listSingle=document.querySelector('li');
var input=document.getElementsByName('game');
变量项=[];//该文件中包含“”。这使第一项成为空字符串。
add.addEventListener('click',function(){
控制台日志(“单击”);
items.push(textPlace.value);
//.push是一种方法:使用(param)而不是=[param]
//getElementsByName获取元素数组。无法以这种方式获取多个元素的.value。QuerySelector获取单个元素,因此输入已替换为textPlace。
document.getElementById('list').innerHTML=“;//重置列表
items.forEach(功能(项目){
document.getElementById('list').innerHTML+=''+item+' ';
});
});代码>
- 地狱
items变量是一个数组,最初是将空字符串添加为该数组中的第一项
在onclick函数中,引用该数组。该引用指向数组对象本身(而不是数组中的项或所有数组项的字符串)
我认为您在这里的目标是循环遍历数组中的每个项目,并为每个数组项目创建li元素,即沿着以下行的内容:
document.getElementById('list').innerHTML = “”; // reset list
Items.forEach(function(item){
document.getElementById('list').innerHTML += '<li>' + item + '</li>';
})
document.getElementById('list').innerHTML=“”;//重置列表
Items.forEach(功能(项目){
document.getElementById('list').innerHTML+=''+item+' ';
})
在我的自动取款机上,但当我回到我的办公桌时,我会输入一个正确的代码片段
编辑
添加了一个显示此工作状态的代码段。这纠正了问题中的几个拼写错误
var remove=document.querySelector('#remove');
var add=document.getElementById('add');
var textPlace=document.querySelector('input');
var listSingle=document.querySelector('li');
var input=document.getElementsByName('game');
变量项=[];//该文件中包含“”。这使第一项成为空字符串。
add.addEventListener('click',function(){
控制台日志(“单击”);
items.push(textPlace.value);
//.push是一种方法:使用(param)而不是=[param]
//getElementsByName获取元素数组。无法以这种方式获取多个元素的.value。QuerySelector获取单个元素,因此输入已替换为textPlace。
document.getElementById('list').innerHTML=“;//重置列表
items.forEach(功能(项目){
document.getElementById('list').innerHTML+=''+item+' ';
});
});代码>
- 地狱
我认为问题在于以下代码。这将返回节点列表的集合
()
document.getElementsByName('游戏')
也就是说,如果您需要获取输入值,您必须使用以下代码
items.push(input[0].value);
但是,我认为使用getElementsByName
不是一个好的做法,我更喜欢使用getElementById
并将id
属性添加到input
元素
此外,如果要将输入值作为单个列表项列出,请使用以下代码
document.getElementById('list').innerHTML = items.map(item => '<li>' + item + '</li>');
document.getElementById('list').innerHTML=items.map(item=>''+item+' ');
希望这有帮助 我认为问题在于以下代码。这将返回节点列表的集合
()
document.getElementsByName('游戏')
也就是说,如果您需要获取输入值,您必须使用以下代码
items.push(input[0].value);
但是,我认为使用getElementsByName
不是一个好的做法,我更喜欢使用getElementById
并将id
属性添加到input
元素
此外,如果要将输入值作为单个列表项列出,请使用以下代码
document.getElementById('list').innerHTML = items.map(item => '<li>' + item + '</li>');
document.getElementById('list').innerHTML=items.map(item=>''+item+' ');
希望这有帮助 阅读我的评论。以下是我猜你真正想做的:
//{
get=(url、成功、上下文)=>{
const x=新的XMLHttpRequest;
有限公司