当我尝试将url推入数组然后window.open()数组中的所有url时,我得到一个null错误。我相信这是因为url没有正确放置在数组中以启动。我究竟做错了什么?感谢。
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<form>
Series Name:
<input type="text"
name="series1name"
id="seriesname"/>
<br/>
Series Link:
<input type="text"
name="series1link"
id="serieslink"/>
</form>
<div>
<button onclick="AddSeries()">Add A New Series </button>
</div>
<div>
<button onclick="OpenSeries()">Open Incomplete Series </button>
</div>
</body>
<script type="text/javascript">
var urlArray = [];
function AddSeries() {
var url = document.getElementById('serieslink');
urlArray.push(url);
}
function OpenSeries() {
for (url in urlArray) {
alert(url.constructor === Array);
window.open(url, '_blank');
}
}
</script>
</html>
对不起,如果错误很明显,我对编码有点新意,所以我确定这段代码无论如何都不是完美的。 提前谢谢。
谢谢大家,两个回复的组合让我的代码以我想要的方式工作。
答案 0 :(得分:0)
您需要添加文本框的值,而不是文本框本身
push!
运行var url = document.getElementById('serieslink').value;
时,返回值是具有许多属性和方法的对象。你可以read about Element objects here。
@Juhana指出
document.getElementById()
循环将为您提供关联数组或对象的键。如果数组是非关联的(所有数组都在JavaScript中),则使用for in
循环。 You can read about it here
@Xufox指出
for of
标记应位于<script>
标记内。建议将脚本放在正文末尾以减少加载时间。