我有一个有效的JavaScript程序,直到我尝试将其更改为"foldername"
:http://hokuco.com/test/"+"foldername"+"/index.html"
。
我的代码出了什么问题?
对于任何对整个JS感兴趣的人:
document.getElementById("submit").addEventListener("click", function(){
var url = document.getElementById("http://hokuco.com/test/"+"foldername"+"/index.html").value;
window.location.href = "url";
});

<input type id="foldername"></input>
<input type ="button" id ="submit/>
&#13;
答案 0 :(得分:1)
你可能意味着:
document.getElementById("submit").addEventListener("click", function(){
var url = "http://hokuco.com/test/" + document.getElementById("foldername").value + "/index.html";
window.location.href = url;
});
的变化:
getElementById
函数中的参数与输入元素的id属性相同,ID为&#34; foldername&#34;。window.location.href
应设置为变量,而不是带引号的字符串。更清晰,你会想要:
document.getElementById("submit").addEventListener("click", function(){
var folder = document.getElementById("foldername").value;
var url = "http://hokuco.com/test/" + folder + "/index.html";
window.location.href = url;
});
现在,希望能够更清楚地了解正在发生的事情。
答案 1 :(得分:0)
请阅读以下文档以更好地了解document.getElementById:https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById 尝试访问null属性时,您的代码很可能会返回未捕获的类型错误。您只能传递一个引用Element对象ID的字符串。
答案 2 :(得分:-2)
你想要完成什么?看起来您正在尝试重定向,但使用的是字符串文字而不是变量。