Javascript 单击按钮时未执行代码
Javascript code not being executed on button click
我有一些 html 和一些 javascript 代码应该在文本框中输入,然后打开一个新选项卡,其中包含文本框中任何内容的维基百科页面。但是,我将其用作扩展,google chrome 不允许内联 javascript。
page.js
document.getElementById("search").addEventListener("click", searchPage);
function searchPage() {
console.log("test")
var temp = document.getElementById(pageName);
var temp = temp.value;
var myPage = "http://en.wikipedia.org/wiki/" + temp;
window.location.replace(myPage);
}
popup.html
<!DOCTYPE html>
<html>
<body>
<a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">Random</a>
Enter page to lookup: <input type="text" id="pageName" /><br />
<input type="submit" value="Submit" id="search" />
<script src="./page.js></script>
</body>
</html>
有人知道为什么这不起作用吗?
输入类型提交正在尝试提交表单。您需要向该提交按钮添加一个操作,或者您可以将其更改为一个按钮,事件将触发。
您的 click
事件侦听器无法工作,因为它尚未加载。或者换句话说,您需要确保此行 <script src="./page.js></script>
正确指向 page.js
.
您可以做的是将您的 JS 包含在您的 HTML <head>
标记中,并向您的按钮添加一个 onClick
属性,如下所示:
<!DOCTYPE html>
<html>
<body>
<a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">$
Enter page to lookup: <input type="text" id="pageName" /><br />
<input type="submit" value="Submit" id="search" />
<script src="./page.js"></script>
</body>
</html>
我认为问题是在您的原始代码中,您有 <script src="./page.js></script>
而不是 <script src="./page.js"></script>
然后您可以将 javascript 更改为以下内容:
document.getElementById('search').addEventListener('click', searchPage);
function searchPage() {
console.log("hjabdfs");
var temp = document.getElementById('pageName');
var temp = temp.value;
var myPage = "http://en.wikipedia.org/wiki/" + temp;
window.location.replace(myPage);
}
请注意,我还将 var temp = document.getElementById(pageName)
更改为 var temp = document.getElementById('pageName')
,因为 pageName
不是变量。
我有一些 html 和一些 javascript 代码应该在文本框中输入,然后打开一个新选项卡,其中包含文本框中任何内容的维基百科页面。但是,我将其用作扩展,google chrome 不允许内联 javascript。 page.js
document.getElementById("search").addEventListener("click", searchPage);
function searchPage() {
console.log("test")
var temp = document.getElementById(pageName);
var temp = temp.value;
var myPage = "http://en.wikipedia.org/wiki/" + temp;
window.location.replace(myPage);
}
popup.html
<!DOCTYPE html>
<html>
<body>
<a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">Random</a>
Enter page to lookup: <input type="text" id="pageName" /><br />
<input type="submit" value="Submit" id="search" />
<script src="./page.js></script>
</body>
</html>
有人知道为什么这不起作用吗?
输入类型提交正在尝试提交表单。您需要向该提交按钮添加一个操作,或者您可以将其更改为一个按钮,事件将触发。
您的 click
事件侦听器无法工作,因为它尚未加载。或者换句话说,您需要确保此行 <script src="./page.js></script>
正确指向 page.js
.
您可以做的是将您的 JS 包含在您的 HTML <head>
标记中,并向您的按钮添加一个 onClick
属性,如下所示:
<!DOCTYPE html>
<html>
<body>
<a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">$
Enter page to lookup: <input type="text" id="pageName" /><br />
<input type="submit" value="Submit" id="search" />
<script src="./page.js"></script>
</body>
</html>
我认为问题是在您的原始代码中,您有 <script src="./page.js></script>
而不是 <script src="./page.js"></script>
然后您可以将 javascript 更改为以下内容:
document.getElementById('search').addEventListener('click', searchPage);
function searchPage() {
console.log("hjabdfs");
var temp = document.getElementById('pageName');
var temp = temp.value;
var myPage = "http://en.wikipedia.org/wiki/" + temp;
window.location.replace(myPage);
}
请注意,我还将 var temp = document.getElementById(pageName)
更改为 var temp = document.getElementById('pageName')
,因为 pageName
不是变量。