<script language =javascript>function test() {    init();
    var sTemp = L.ReturnName(document.getElementById('test').value).value;  
       var sTemp2= "a,ab,abc,bc,dd,gd,gdsg,dgsdgd,ege";dearray(sTemp);    //出错
dearray(sTemp2);  
    smanPromptList(arrList,"test")
}</script>function dearray(aa)//定义array
{
//document.write(aa);
  arrList = aa.split(',');
intIndex = arrList.length;}
是这样的:
我的L.ReturnName(document.getElementById('test').value).value是返回一个arraylist,返回的数据我检查过了,是符合a,b,c,d的格式的,但是为什么用split的时候会出错呢?直接用a,b,c的形式又不出错,请问我什么?我用的是ajaxpro框架,ReturnName返回的arraylist

解决方案 »

  1.   

    分成两行代码来写这行代码:
    var sTemp = L.ReturnName(document.getElementById('test').value).value;  把取.value单独写试试
      

  2.   

    Ajax.net
    ??
    ArrayList 返回js 就是个js的Array
    不是什么"a,b,c"
      

  3.   

    function dearray(aa)//定义array
    {
    //document.write(aa);
      var arrList = aa.split(',');
    intIndex = arrList.length;}
      

  4.   

    to:hdt(倦怠) 就是不对啊,
    我用document.write(sTemp)出来的数据是对的啊?不知道为什么split就出错了?
      

  5.   

    to:maxiaohui1212() (
    我定义了aa的var intIndex=0;arrList = new Array();
    在我js文件的最前面,没有写出来
      

  6.   

    try<script language =javascript>function test() {
        debugg; // + 这一句
        init();
        var sTemp = L.ReturName(document.getElementById('test').value).value;  
     ie 里打开调试,看看具体是什么??
      

  7.   

    不行,还是不行.
    我很奇怪,因为我把那个返回的值用
    alert或者docuemnt.write出来后
    傎是和我需要的值是一样的,如
    a,b,c,d就是这种用逗号隔开的形式,不知道为什么用split就出错
      

  8.   

    dearray(sTemp);    //出错
    dearray(sTemp2);  
    如果第二句正确的话,很明显是ajax 返回的值不正确var sTemp = L.ReturnName(document.getElementById('test').value).value;换个办法写出来看看L.ReturnName(document.getElementById('test').value,backvalue);function backvalue(res)
    {
         dearray(res.value);
    }
      

  9.   

    js 中的Array 如果alert 
    会自动显示
    元素1,元素2,元素3.....
    因为你的value是Array所以不能split
      

  10.   

    谢谢各位兄弟了var sTemp = L.ReturnName(document.getElementById('test').value).value;  
    sTemp += "";   在后面加一个空格(或者任意字符),就OK了
    不知道怎么回事,有时间再研究
    顺便提一句,我提出来的数据不是空的
      

  11.   

    sTemp += "";   在后面加一个空格(或者任意字符),就OK了
    ========================
    sTemp 这时已经转为string,
    var sTemp = L.ReturnName(document.getElementById('test').value).value;  
    sTemp 这时是javascript的Array
    sTemp+="";
    这时已经转为javascript 的string 
    ps:js是动态语言其实你直接
    function dearray(aa)//定义array
    {
    intIndex = aa.length;}
    即可
      

  12.   

    对,我直接修改方法:
    function dearray(aa)//定义array
    {
    //document.write(aa);
      arrList = aa.split(',');   >>>>>>>>        arrList = aa;
    intIndex = arrList.length;}正确了,谢谢
      

  13.   

    楼上的朋友,不好意思,我还有一个问题,我的javascript不好mainloop()  是javascript函数自带的吗?起什么作用?
      

  14.   

    米听说过不是吧
    js函数,如果你装了msdn2003
    ms-help://MS.MSDNQTR.2003FEB.2052/script56/html/vtoriFunctions.htm