我用js自动生成文本框,在后台如何获取生成文本框中的值呢,请高手帮帮忙啊,
js代码如下
 function Addtr()
    {
    var floolNum=document.getElementById("txtFlool").value;//要生成几个文本框的值
    var table=document.getElementById("tab");//页面中的<table>
    var num=parseInt(floolNum);
    for(var i=0;i<num;i++)
    {
     var row = table.insertRow();   
     //alert(table.rows.length);
    row.id="row"+i+1; 
   var cell1=row.insertCell(0);
   var cell2=row.insertCell(1);
   cell1.innerHTML=i+1;
     
   var str='<input type="text" name="txtJ'+i+'" runat="server" style="width:150px"/>';
   cell2.insertAdjacentHTML("beforeEnd",str);    }
    
    }

解决方案 »

  1.   

    这样添加服务器控件TextBox是不会成功的。
      

  2.   

    方法:
    1、把Table改成服务器控件,后台创建TextBox,边创建边保存创建的TextBox的ID,取值的时候就方便了。直接table.FindControl("..") as TextBox
    2、先在页面放置两个Hidden服务器控件(防止回发丢失js var变量值)
       页面创建Html元素,input text 边创建边在一个Hidden中保存text的id
       在要取得这些数据前,先执行一个js,获取这些text的值,(js会在回发之前执行)保存在另一个hidden中。然后在后台通过这两个hidden获取相应text的值
      

  3.   

    Request.Form
    或使用隐藏域