Javascript Javasript:TypeError:input.value未定义

Javascript Javasript:TypeError:input.value未定义,javascript,html,forms,input,Javascript,Html,Forms,Input,我需要根据用户的表单输入过滤li。正在尝试实现一个类似YouTube的搜索栏,以显示标题与用户输入匹配的视频。使用JS将输入值分配给一个变量,我得到了未定义的错误值。有人能告诉我这里出了什么错吗 对不起,苹果这是第一台带迷你LED的笔记本电脑 R&B-Beatpop 函数过滤器(){ var filterValue,input,ul,li,p,i; 输入=document.getElementById(“搜索”); filterValue=input.value.toUpperC

我需要根据用户的表单输入过滤
li
。正在尝试实现一个类似YouTube的搜索栏,以显示标题与用户输入匹配的视频。使用JS将输入值分配给一个变量,我得到了未定义的错误值。有人能告诉我这里出了什么错吗


  • 对不起,苹果这是第一台带迷你LED的笔记本电脑

  • R&B-Beatpop

函数过滤器(){
var filterValue,input,ul,li,p,i;
输入=document.getElementById(“搜索”);
filterValue=input.value.toUpperCase();
ul=document.getElementById(“列表”);
li=ul.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}

下面的代码对我来说很好

函数过滤器(字段){
var filterValue,input,ul,li,p,i;
filterValue=field.value.toUpperCase();
ul=document.getElementById(“列表”);
li=ul.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}

  • 对不起,苹果这是第一台带迷你LED的笔记本电脑

  • R&B-Beatpop


向输入元素添加id

<input id="search-text" class="form-control mr-sm-2" type="text" placeholder="Search">

您试图获取的表单元素没有您期望的值。所以它没有定义。这就是为什么需要从搜索输入元素获取搜索文本

还有一个id的输入错误:“列表”。它应该像您在html中提到的那样“列出”(用小写字母)

函数过滤器(){
var filterValue,input,ul,li,p,i;
输入=document.getElementById(“搜索文本”);
filterValue=input.value.toUpperCase();
ul=document.getElementById(“列表”);
li=ul.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}

  • 对不起,苹果这是第一台带迷你LED的笔记本电脑

  • R&B-Beatpop


id为的元素
搜索
不是表单元素,而不是输入元素,否则问题就没有意义了,可能会被否决(另外,您的答案无法接受)。我正在还原您所做的编辑。(它本来就不应该被批准。)