Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的.push()命令不起作用?_Javascript_Html - Fatal编程技术网

javascript中的.push()命令不起作用?

javascript中的.push()命令不起作用?,javascript,html,Javascript,Html,当我尝试将url推送到数组中,然后在window.open()中打开数组中的所有url时,我得到一个空错误。我认为这是因为url没有正确地放置在要启动的数组中。我做错了什么?谢谢 <!DOCTYPE HTML> <html> <head> </head> <body> <form> Series Name: <input type="text" name=

当我尝试将url推送到数组中,然后在window.open()中打开数组中的所有url时,我得到一个空错误。我认为这是因为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>

系列名称:

系列链接: 添加新系列 开不完全级数 var urlArray=[]; 函数AddSeries(){ var url=document.getElementById('serieslink'); urlArray.push(url); } 函数OpenSeries(){ for(url在url数组中){ 警报(url.constructor==数组); 打开(url,“U空白”); } }
我很抱歉,如果错误是明显的,我有点新的编码,所以我相信这段代码是不完美的任何方式。 先谢谢你

谢谢大家,两个回答的组合让我的代码按照我希望的方式工作。

获取文本框的值,而不是文本框的值 您需要添加文本框的值,而不是文本框本身

var url = document.getElementById('serieslink').value;
运行
document.getElementById()
时,返回值是一个具有许多属性和方法的对象。你可以

使用适当的for循环 由@Juhana指出

in循环中的
将为您提供关联数组或对象的键。如果数组是非关联的(所有数组都在JavaScript中),则使用
for of
循环

将脚本标记放入正文中 由@Xufox指出


标记应位于
标记的内部。建议将脚本放在正文末尾以减少加载时间。

HTML代码不能介于
之间。将您的
移动到
之前。另外,请学会自己调试这些简单的编码错误。@Juhana虽然这可能是另一个问题,但这并不是阻止push()将url放入数组的原因。@Xufox我的close body标记的位置对程序的运行没有影响它仍然是无效的HTML。