document.getElementById('A0_002').style.display = "none"; 
//开始我认为是这行导致取不到对象,后来之后问题依旧document.getElementById('dropFiles').style.display = "inline";  //divvar obj = document.getElementById('dropFiles');//alert(document.form1.A0_002.value); //最扯谈的是这句,只要不,运行时弹出框是空,但是后面却可以取到值//var vals = document.getElementById('A0_002').value.split(',');
var vals = document.form1.A0_002.value.split(','); //这两句都一样 
                
for(var i=0;i<vals.length;i++)
{
      obj.innerHTML = obj.innerHTML + vals[i];
}

解决方案 »

  1.   

    今天碰到的奇怪的问题,我在js程序里要读取到一个textInput的值,一定要先alert一下(即便这个alert还是空值),然后才能取到这个textInput的值,不知道到底是什么原因,请各位大大不吝赐教。
      

  2.   

    document.form1
    非IE下不要这么写
      

  3.   

    控件都是已经生成好了的,反正现在就是一定要先alert(document.getElementById('A0_002').value)一下,然后才取的到值,好郁闷啊
      

  4.   

    今天遇到的奇怪的事,一个只做过asp.net网站开发的人竟然介绍他自己擅长b/s开发,还开价工资3k+?
      

  5.   

    应该不是alert的问题,数据应该是在从弹出对话框到你点击确定之间的这段时间内加载的。
    也就是说应该是你调用js的时机不太对。
      

  6.   

    你应该是用到了模板页了吧 如果是模板页的话就不是这样取值   var Pro_id= document.getElementById("ctl00_ContentPlaceHolder1_DDL_Pro").value;
       
      

  7.   

    是不是双引号的问题。。
    document.getElementById('A0_002').style.display = "none"; 
    之 document.getElementById("A0_002").style.display = "none"; 
     
      

  8.   


    我刚才调试了一下,确实数据是在alert之后才加载,但是我的数据加载的过程是写在这段程序之前的程序,我再改改程序顺序看一下。
      

  9.   

    ocument.getElementById('<%=A0_002.ClientID %>').style.display = "none";  
      

  10.   

    把js代码放到html尾部吧.放在顶部,有些html对象还没生成.
      

  11.   

    var obj = document.getElementById('dropFiles');window.setTimeout(function() {
         var vals = document.getElementById('A0_002').value.split(',');     for (var i = 0; i < vals.length; i++) {
              obj.innerHTML = obj.innerHTML + vals[i];
         }
    }, 0);
      

  12.   


    我后来就用setTimeout这个方法搞定了
    先前所有的方法都试了不行,可能我的程序结构有问题,后来就想js 能不能Thread.Sleep,搜到这个方法...