利用JavaScript动态增加的文本输入框在后台无法取值问题的解决
近期在写一个信息采集系统,需要根据输入的数量动态添加文本输入框,并在后台处理输入值并存入数据库。编程环境:VisualStudio2010,ASP.NET MVC 2.0。
考虑在前台使用JavaScript实现动态添加文本输入框,如下代码所示,使用getElementById().value属性获取一个输入框的值,根据这个值循环利用getElementById().innerHTML属性输出指定的<input/>标签内容。
添加文本输入框倒是很顺利,但是在后台利用 Requset.Form(“”)无法获取值。在网上查阅了很多资料,发现这是个普遍问题,也一一做了尝试。
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 <script type="text/javascript">
2 function AddTextBox() {
3 var stringH="";
4 document.getElementById("addin").innerHTML ="";
5 var k = document.getElementById("SA").value;
6 for (i =0; i < k; i++) {
7 stringH ="姓名:<input type='text' name='SName"+ i.toString(10) +"' />";
8 document.getElementById("addin").innerHTML += stringH;
9 }
10 document.getElementById("addin").innerHTML +="<input type='submit' />";
11 }
12 </script>
13
2 function AddTextBox() {
3 var stringH="";
4 document.getElementById("addin").innerHTML ="";
5 var k = document.getElementById("SA").value;
6 for (i =0; i < k; i++) {
7 stringH ="姓名:<input type='text' name='SName"+ i.toString(10) +"' />";
8 document.getElementById("addin").innerHTML += stringH;
9 }
10 document.getElementById("addin").innerHTML +="<input type='submit' />";
11 }
12 </script>
13
<script type="text/javascript"> function AddTextBox() { var stringH= ""; document.getElementById("addin").innerHTML = ""; var k = document.getElementById("SA").value; for (i = 0; i < k; i++) { stringH = "姓名:<input type='text' name='SName" + i.toString(10) + "' />学号:<input type='text' name='SID" + i.toString(10) + "'/>"; document.getElementById("addin").innerHTML += stringH; } document.getElementById("addin").innerHTML += "<input type='submit' />"; }
</script>
i.toString(10)