try returnValue.valueOf()
or 
returnValue.join(",")

解决方案 »

  1.   

    toString 并不是把数组串起来。
      

  2.   

    toString():返回一个字符串,该字符串包含数组中的所有元素,各个元素间用逗号分隔
    <script language=JavaScript>
    var a=[1,2,3,4]
    alert(a.toString())
    </script>
    ================================知之为知之,不知为不知,是知也。
      

  3.   

    join(",")不行,我试过!
    大家有什么解决方法吗?
    IE5好像是不支持toString()方法,也不支持join()方法的吧?
      

  4.   

    imafool(imafool) :
    你能给我详细的解释吗?
      

  5.   

    受不了了!保存下边的代码自己运行看效果!
    win2000+ie5.0运行通过没有问题!所有的这三个方法统统支持!
    <script language=JavaScript>
    var a=[1,2,3,4]
    alert(a.toString())
    alert(a.valueOf())
    alert(a.join(","))
    </script>
      

  6.   

    xinyunyishui(心云意水) :我也受不了了啊!
    唉,你上面说的方法我在VJ++中使用都是可以的,不过在我的jsp文件中使用,就是过不去,错误消息是告诉我使用了不支持的方法或者属性。我也很奇怪究竟是为什么。你和的方法我发帖子之前也都试过啊,就是不通过啊。我都感觉莫名其妙!为这个,我连机器都重新做了!
    和你说的一样,win2000+ie5.
      

  7.   

    在弹出页面关闭之后,取得返回值,然后如果alert(returnValue.toString);就会出错,或者其他的方法也会出错。Why?但是如果数组是象上面大家那样,使用这个alert就不会出错。Why?
      

  8.   

    这与浏览器无关吧?我的是ie5.5,现象与你说的一样其实showModalDialog返回的是对象并不是数组,且该对象的toString方法有bug

    s="";
    for(v in returnValue)
      s += ","+returnValue[v];
    alert(s.substr(1));
    可显示
      

  9.   

    谢xuzuning(唠叨) 的回答!
    请问能告诉我showModalDialog方法返回的到底是什么吗?
    我接触JavaScript时间并不长。
    那为什么join()方法也不成呢?
    请看看这个帖子:
    http://expert.csdn.net/Expert/topic/1667/1667013.xml?temp=.6620447
    同样是我的这个问题的另外一个帖子。
      

  10.   

    returnValue = window.showModalDialog("test2.jsp",window,"dialogHeight:300px;dialogWidth:500px;center:Yes;Help:No;Resizable:No;Status:Yes;");
    alert(returnValue);
    弹出框中显示:[object]
    alert(returnValue.toString());
    浏览器出错提示:意外地调用了方法或属性
    js声称所有js对象都有toString方法,可见这里有一个bug
      

  11.   

    真的就是一个Bug?

    var tmpArray = new Array(2);
    tmpArray[0] = "111";
    tmpArray[1] = "222";
    alert(tmpArray.toString());
    为什么又能正确执行呢?
    那是不是说我这里showModalDialog返回对象不能看作是Array呢?
    那么这个返回值到底是什么东西呢?总会有一个定义归属吧?
    其在内存中应该是什么形式呢?栈?
      

  12.   

    那个代码正确,而对showModalDialog返回对象返回结果不正确。只能说是bug了
    你只需遍历一下这个对象
    var o = new Array();
    for(v in returnValue)
      o[v] = returnValue[v];
    alert(o);能遍历说明他的确是对象,只是有些问题罢了。我在你那个帖子中已说明了
      

  13.   

    楼主不妨这样试试看,将数组联成一个字符串返回,然后取得这个数组后再分解为数组。
    方法虽然本了点儿,但是安全。jsp不会,如果不行,不要见怪。
      

  14.   

    问题不能按照我想的那样解决,唉……
    谢谢大家,结贴!
    另请大家关注
    【阿紫、随风事件专题】http://www.csdn.net/Subject/224/index.shtm