当我尝试访问javascript数组时,正在填充未定义的值

时间:2012-11-07 06:00:01

标签: javascript

警报提示(document.inform.cid);是未定义的

 <html>
     <head>
     <script type="text/javascript">
    var interval = window.setInterval(iterate, 5000);
    function iterate() {
    var myStringArray = ["user1", "user2"];
       iterate.arr = iterate.arr || myStringArray.slice(0);

        //if it still has elements left
        if(iterate.arr.length > 0) {
            document.inform.cid = iterate.arr.pop(); //remove the top one
            alert(document.inform.cid);
            document.inform.pwd = "xxxxxxxx";
            document.inform.target = iterate.arr.length; // a different target each time - length of the arr
            document.inform.submit();
        } else {
            window.clearInterval(interval); //no more left cancel it
        }
    };

    </script>
     </head>
     <body >
      <form name="inform"   target="newWin" action="https://www.google.co.in/">
     <input type="hidden" name="throttle" value="999" />
     <input type="text" name="cid"  />
     <input type="text" name="pw"  />
        <input type="submit" value="go" onclick="iterate()">
      </form>
     </body>
    </html>

1 个答案:

答案 0 :(得分:1)

在您的代码中:

>  document.inform.cid = iterate.arr.pop();

请注意document.inform.cid是对DOM输入元素的引用,iterate.arr.pop()是字符串值。所以这项任务是不相容的。

我认为你的意思是:

 document.inform.cid.value = iterate.arr.pop();

 --------------------^^^^^

如果你使用更正式的话可能会更明显:

 document.forms['inform'].elements['cid'].value ...