前台动态创建的textbox,后台丢失值
前台创建代码如下:
var tb = document.getElementById( "table1 ");
var str = document.getElementById( "hidden1 ").value;
//拆分
var arr_str = str.split( '; ');
for (var i = 0; i < arr_str.length; i++)
{
var row = tb.insertRow(tb.rows.length);
var cell= row.insertCell(0);
cell.innerHTML = " <input type= 'hidden ' id= 'hidden " + i + " ' value= ' " + arr_str[i] + " '/> " + arr_str[i];
var cellTxt = row.insertCell(1);
cellTxt.innerHTML = " <input type= 'text ' size= '10 ' id= 'txtbox " + i + " ' /> XXX ";
}
后台获取代码如下:
for (int i = 0; i < table1.Rows.Count; i++)
{
HtmlInputHidden hidden = (HtmlInputHidden)table1.Rows[i].Cells[0].Controls[0];
string str += hidden.Value + ": ";
TextBox txtbox = (TextBox)table1.Rows[i].Cells[1].Controls[0];
}
明明输入了值,后台的txtbox也能获得,但内容就是为空。为什么?同一个table里的hidden,就没有问题。
------解决方案--------------------可以用ajax,也可以在画面上table以外的地方放一个hidden,点提交的时候先在前台把textbox的值存在这个hidden里。