使用Javascript获取动态创建的文本框的值时返回错误的值

时间:2012-10-08 16:51:23

标签: javascript html

我已经使用JavaScript动态地将一些行添加到我的ASP.NET表中,我的行包含文本框(实际上是跨度),它是我的文本框HTML,它添加到我的表中:

               var spanCount = document.createElement("span");
           spanCount.innerHTML = "<input style=\"width:30px\" type=\"text\" name=\"count\" value=1>";

稍后我更改了此文本框的默认值(默认值为1),我想使用JavaScript获取此动态创建的文本框的当前值,我使用以下代码获取其值,但我总是得到1(默认值),我想拥有此文本框的当前值:

alert(document.getElementById('<%=tblFoodList.ClientID %>').rows[1].cells[3].firstChild.innerHTML);

但是我得到了HTML(我可以解析它的值):

<input style="width:30px" name="count" value="1" type="text"

正如你所看到的,value =“1”,但我已经改变了价值,有没有什么方法可以获得这个范围的当前值(或HTML)?

1 个答案:

答案 0 :(得分:1)

您应该使用.value代替.innerHTML来获取输入的文本值。

假设你的结构:

alert(document.getElementById('<%=tblFoodList.ClientID%>') // this is your table
  .rows[1] // second row
  .cells[3] // third column
  .firstChild // the span you created
  .firstChild // the input
  .value // the value of the input
);