日期:2014-05-16  浏览次数:20341 次

关于动态增加文本框的问题
我用document.createElement方法加了几个同名的文本框
在页面上可以正常显示,在后台也可以得到值

但是在客户端用JS去取这些文本框对象数组时,长度总为0,
好像取到的还是增加前的document对象
var   s   =   document.getElementsByName( "text1 ");
alert(s.length);

------解决方案--------------------
用document.createElement方法加了几个同名的文本框
是不能直接用getElementsByName方法得到的

可以这样:
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> new page </title>
<script>
function a(n){
for(var i=0;i <n;i++){
var obj=document.createElement( "input ");
obj.name= "text1 ";
document.body.appendChild(obj);
}
var len=0;
var inputObjs=document.getElementsByTagName( "input ");
for(var i=0;i <inputObjs.length;i++){
if(inputObjs[i].name== "text1 ")len++;
}
alert( "您添加了 "+len+ "个控件! ");
}
</script>
</head>
<body onload=a(7)>
<input type=text value= "不算我在内! ">
</body>
</html>