for(var j=0;j<parent.DEVICE_IFRAME.data.length;j++)

解决方案 »

  1.   

    不行啊,提示"parent.DEVICE_IFRAME.data为空或不是对象"
    我是在edit-plus下运行的
      

  2.   

    for(var i=0;i<parent.iframename.data.length;i++)
      

  3.   

    我试过在前面加parent了,但是每次只能输出data数组的第一条数据
      

  4.   

    数据可以取出来,只是你的数据可能有写字符特殊,所以出错 function fnOutPut()
    {
    //运行时提示for循环出错
    for(var j=0;j<DEVICE_IFRAME.data.length;j++)
    {
    // document.write(DEVICE_IFRAME.data[j].join(","));
    alert(DEVICE_IFRAME.data[j].join(","));
    }
    }
      

  5.   

    你们说的都不对我找到了真正的原因和技术没有关系的原因
    说出来会让人晕的原因你的文件名是 deviceData.htm而你调用时fnNewIframe("DEVICE_IFRAME","deviceData.html");
    用的文件名是deviceData.html ,这两个文件是不一样的 。改过来试试看就知道了。。
      

  6.   

    补充:
    另外还有这样还不行。。只会输出第一组字符
    你还需要把
    <body onload="fnOutPut()">
    <script language="JavaScript">
    fnNewIframe("DEVICE_IFRAME","deviceData.html");
    function fnOutPut()
    {
    //运行时提示for循环出错
    for(var j=0;j<DEVICE_IFRAME.data.length;j++)
    {
    document.write(DEVICE_IFRAME.data[j].join(","));
                                document.write("/n");
    }
    }
    </script>
    </body>
    改成
    <body >
    <script language="JavaScript" > fnNewIframe("DEVICE_IFRAME","deviceData.htm");
    function fnOutPut()
    {
    //运行时提示for循环出错
    for(var j=0;j<DEVICE_IFRAME.data.length;j++)
    {
    document.write(DEVICE_IFRAME.data[j].join(","));
                                document.write("/n");
    }
    }
    fnOutPut();
    </script>
    即不要直接用onload来调用fnOutPut(),而是在后面直接调用。。
    测试结果是把所有数据都打印出来了。。
      

  7.   

    再次补充一点就是
    看来楼主和我一样以前是学“VC++”的。。来。握个爪先。。同行同行。。
    所以要提醒楼主一下:
    在vc里换行是/n ,在html里就是“<br>”了 
    所以要改成document.write("<br>");