Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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 放置在js文件中时函数不工作_Javascript - Fatal编程技术网

Javascript 放置在js文件中时函数不工作

Javascript 放置在js文件中时函数不工作,javascript,Javascript,您好,当我在html中包含代码时,这是有效的,但是当我将其转换为myScript.js时,我没有得到任何结果,有人能指出我在这方面的错误,因为我希望能够跨多个页面访问此函数吗 我还有一个附带的问题,如果我输入一些东西,然后删除输入值,我的筛选数组会显示所有选项,如果输入框不包含任何值,是否可以将其设置为“”值 谢谢 功能页_search(){ 变量页=[ {name:“Test”,url:“Test.html”}, {name:“Rest”,url:“Rest.html”}, {name:“B

您好,当我在html中包含代码时,这是有效的,但是当我将其转换为myScript.js时,我没有得到任何结果,有人能指出我在这方面的错误,因为我希望能够跨多个页面访问此函数吗

我还有一个附带的问题,如果我输入一些东西,然后删除输入值,我的筛选数组会显示所有选项,如果输入框不包含任何值,是否可以将其设置为“”值

谢谢

功能页_search(){
变量页=[
{name:“Test”,url:“Test.html”},
{name:“Rest”,url:“Rest.html”},
{name:“Best”,url:“Best.html”},
];
让输入=document.getElementById('searchbar')。值
input=input.toLowerCase();
设x=document.getElementById('searchresults');
var结果=[];
对于(变量i=0;i-1)
结果:推送(“”)
}
如果(results.length==0)
$(x).html(“未找到结果”);
其他的
$(x).html(results.join(“
”); 返回结果; }

我添加了代码,它肯定会解决输入框为空时显示“”的第二个问题。我无法复制您的第一个问题,您能告诉我您得到了什么错误吗

功能页_search(){
变量页=[{
名称:“测试”,
url:“Test.html”
},
{
名称:“休息”,
url:“Rest.html”
},
{
名称:“最佳”,
url:“Best.html”
},
];
让输入=$('#搜索栏').val().toLowerCase()
设x=$(“#搜索结果”);
var结果=[];
如果(输入){
对于(变量i=0;i-1){
结果:推挤(``);
}
}
}否则{
$(x).html(“”);
返回;
}
如果(results.length==0)
$(x).html(“未找到结果”);
其他的
$(x).html(results.join(“
”); } var ele=document.getElementById('searchbar'); ele.addEventListener('keyup',页面搜索)


脚本在呈现主体之前在头部运行,因此您的
document.getElementById('searchbar')
(例如)可能不会返回任何内容。作为第一步,您可以尝试将脚本移动到body标签的底部,看看这是否解决了任何问题。谢谢Jasdeep!我得到这个错误:uncaughtreferenceerror:page_搜索没有在HTMLInputElement.onkeyup(Test.html:21)onkeyup@Test.html:21定义好的,我不知道为什么它不工作。它在我这边起作用。我可以建议您更改函数定义,我正在更新代码,请检查。似乎声明函数的两种方法都适用于html中的脚本,但一旦我将其从html文件中删除并放入myScript.js文件,这是我得到错误的时候。你的html和js文件在同一个目录/文件夹中吗?更新了我的代码并转换成jquery格式,应该可以工作