制作一个Javascript文件浏览器
我很难尝试调试一个Javascript函数。这是从一个TomCat 7.0 Servlet运行的,所以我必须用Java编写它,所以我为可怜的样式道歉。实际的Java文件将目录的内容显示给浏览器,通过点击id =“foldername”的div,它应该将该值传递给URL以重新加载该文件夹的页面。唯一的问题是,Java脚本不断给我下面列出的问题。制作一个Javascript文件浏览器
<head></head><body><script> function explore(s){ //Trying to make this function work keeps throwing Uncaught Type Error: cannot read property 'id' of null
var x = document.getElementById(s).id;
var newUrl= document.URL.concat(x);
window.location = newUrl; window.alert(x)}</script><list>
<li id="bin"><div id="plus" onclick="explore(bin)">+</div> bin</li>
<li id="conf"><div id="plus" onclick="explore(conf)">+</div> conf</li>
<li id="lib"><div id="plus" onclick="explore(lib)">+</div> lib</li>
<li id="LICENSE"><div id="plus" onclick="explore(LICENSE)">+</div> LICENSE</li>
<li id="logs"><div id="plus" onclick="explore(logs)">+</div> logs</li>
<li id="NOTICE"><div id="plus" onclick="explore(NOTICE)">+</div> NOTICE</li>
<li id="temp"><div id="plus" onclick="explore(temp)">+</div> temp</li>
<li id="tomcat.ico"><div id="plus" onclick="explore(tomcat.ico)">+</div> tomcat.ico</li>
<li id="Uninstall.exe"><div id="plus" onclick="explore(Uninstall.exe)">+ </div> Uninstall.exe</li>
<li id="webapps"><div id="plus" onclick="explore(webapps)">+</div> webapps</li>
<li id="work"><div id="plus" onclick="explore(work)">+</div> work</li>
</list><FORM><INPUT Type="button" VALUE="Back" onClick="history.go(-1);return true;"></FORM></body>
你应该字符串传递给你的函数为getElementById
需要字符串ID:
explore('LICENSE');
将此向explore
功能所有电话(用单引号参数)。否则javascript会将该参数视为一个变量,并且由于您未声明这些变量,因此所有函数都正在接收undefined
谢谢你的工作! – accountget
没问题。乐意效劳 :) – taxicala
请记住,onclick
中的代码是实际的JavaScript代码。因此explore(Uninstall.exe);
正试图找到存储在uninstall
中的对象exe
。你应该在这里使用引号:explore('Uninstall.exe');
。他们都一样。
顺便提一句,Java在这里完全不相关,您应该学习Java和JavaScript之间的差异。
''我不得不用Java编写它......“ - ”用Java编写它“是什么意思?它看起来完全像JavaScript。 –
对不起,这是从一个Tomcat 7.0 Serverlet运行,我将编辑以反映这一点。 – accountget