近期在写一个信息采集系统,需要根据输入的数量动态添加文本输入框,并在后台处理输入值并存入数据库。编程环境:VisualStudio2010,ASP.NET MVC 2.0。
考虑在前台使用JavaScript实现动态添加文本输入框,如下代码所示,使用getElementById().value属性获取一个输入框的值,根据这个值循环利用getElementById().innerHTML属性输出指定的<input/>标签内容。
添加文本输入框倒是很顺利,但是在后台利用 Requset.Form(“”)无法获取值。在网上查阅了很多资料,发现这是个普遍问题,也一一做了尝试。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.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)