我在用户输入之前运行此javascript时遇到问题,有人可以帮我解决此问题。
我只是尝试使用文本框和按钮创建一个小html页面,然后单击该按钮打开一个带有修改过的URL的新窗口。
<input type="text" name="enter" class="enter" value="" id="lolz" />
<button type="button" id="the_button">Count</button>
document.getElementById('open').addEventListener('click', myFunction());
function myFunction() {
var button = document.getElementById("the_button");
var siteid = document.getElementById('lolz').value
button.onclick = count();
function count() {
window.location = "http://www.websiteimusing.com/" + siteid;
}
}
document.getElementById('the_button').addEventListener('click', myFunction);
function myFunction() {
var button = document.getElementById("the_button");
var siteid = document.getElementById('lolz').value
button.onclick = count();
function count() {
window.location = "http://www.websiteimusing.com/" + siteid;
}
}
答案 0 :(得分:2)
更改为:
document.getElementById('open').addEventListener('click', myFunction);
当您将()
放在函数名后面时,表示此时调用该函数。
答案 1 :(得分:2)
代码中没有标识为open
的元素,因此您尝试将事件侦听器添加到null。控制台会告诉你相同的事情:
Uncaught TypeError: Cannot call method 'addEventListener' of null
还要确保从事件监听器功能中删除parens,正如其他海报所述。
答案 2 :(得分:1)
在这一行
document.getElementById('open').addEventListener('click', myFunction());
您正在通过添加()
将其更改为:
document.getElementById('open').addEventListener('click', myFunction);