首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎么得到动态创建的控件的值

2012-03-27 
如何得到动态创建的控件的值htmlhead/headbodytablewidth100%trtdwidth50%/tdtdwidth

如何得到动态创建的控件的值
<html>
<head>
</head>
<body>
<table   width=100%>
<tr>
<td   width=50%>
</td>
<td   width=50%   >
<form   name=key   >
<DIV   id=text> </DIV>
<input   type=button   value= '确定 '   onClick= 'javascript:query(); '>
</form>
</td>
</tr>
</table>
</body>
<script   language= "javascript ">
var   list   =   new   Array(108);
for   (int   i   =   0;   i   <   108;   i++)
list[i]   =   "-1 ";
var   fso   =   new   ActiveXObject( "Scripting.FileSystemObject ");  
alert( "ok ");  
var   fData   =   fso.OpenTextFile( "E:\\office\\doc\\other\\td.txt ",   1);  
var   sel   =   " <input   type= 'radio '   name= 'selid '   value= '1 '/> ";
    var   strText   =   " ";
    var   i   =   0;
    while   (true)   {
    strText   +=   " <p> "   +   fData.readline()   +   " </p> ";
    strText   +=   " <input   type= 'radio '   name= 'selid "   +   i   +   " '   value= '1 '   checked       /> 明显不符         ";
    strText   +=   " <input   type= 'radio '   name= 'selid "   +   i   +   " '   value= '2 '     /> 大多不符         ";
    strText   +=   " <input   type= 'radio '   name= 'selid "   +   i   +   " '   value= '3 '     /> 难以决定         ";
    strText   +=   " <input   type= 'radio '   name= 'selid "   +   i   +   " '   value= '4 '     /> 大体相符         ";
    strText   +=   " <input   type= 'radio '   name= 'selid "   +   i   +   " '   value= '5 '     /> 非常符合         ";

    i++;
    if   (i   ==   108)  
    break;
    }
    fData.close();
document.getElementById( "text ").innerHTML   =   strText;    
 
function   query()   {  
var   els   =   document.getElementsByTagName( "input ");
for(var   i   =   0,   i   <   108;   i++)   {
alert(els[i].value);
}
}
</script>
</html>

大家帮忙看看,具体功能就是读文件得到要创建的控件名,单击按钮,输出所有控件的值

[解决办法]
首先,你的需求并不十分明显.
1,你的第二行,有语法错误,是for(var i = 0;不是for(int i = 0;
2,最后一个循环处,改为for(var i = 0; i < 108;

然后,你是想取得所有以selid开头的的INPUT对象的值吧?

var els = document.getElementsByTagName( "INPUT ");
for(var i = 0, l = els.length; i < l; i++)


{
if (els[i].name.match(/^selid\d+$/gi)) alert(els[i].value);
}
[解决办法]
看见拼接的html输出就倒胃口...学会dom吧~~~
[解决办法]
看见拼接的html输出就倒胃口...学会dom吧~~~
==========================================
能不用DOM尽量不要用DOM!


楼主处理的方法是对的,可以用getElementsByName来获得指定类型的控件,只是注意拼写;
可以参考matrixy(处女主任)的方法测试一下!
[解决办法]
input控件的输出往往涉及到对象的控制,用dom容易搞点~~~~
也不会出现创建了控件还不知道怎么取值的事~~~
[解决办法]
测试了一下:

<html>
<head>
</head>
<body>
<table width=100%>
<tr>
<td width=50%>
</td>
<td width=50% >
<form name=key >
<DIV id=text> </DIV>
<input type=button value= '确定 ' onClick= 'javascript:query(); '>
</form>
</td>
</tr>
</table>
</body>
<script language= "javascript ">
var list = new Array(108);
for(var t=0;t <list.length;t++){
list[t] = "-1 ";
var fso = new ActiveXObject( "Scripting.FileSystemObject ");
//alert( "ok ");
var fData = fso.OpenTextFile( "C:\\1.txt ", 1);
var sel = " <input type= 'radio ' name= 'selid ' value= '1 '/> ";
var strText = " ";
var i = 0;
while (true) {
strText += " <p> " + fData.readline() + " </p> ";
strText += " <input type= 'radio ' name= 'selid " + i + " ' value= '1 ' checked /> 明显不符 ";
strText += " <input type= 'radio ' name= 'selid " + i + " ' value= '2 ' /> 大多不符 ";
strText += " <input type= 'radio ' name= 'selid " + i + " ' value= '3 ' /> 难以决定 ";
strText += " <input type= 'radio ' name= 'selid " + i + " ' value= '4 ' /> 大体相符 ";
strText += " <input type= 'radio ' name= 'selid " + i + " ' value= '5 ' /> 非常符合 ";

i++;
if (i == 108) {
break;
}
}

fData.close();
document.getElementById( "text ").innerHTML = strText;
}

function query() {
var els = document.getElementsByTagName( "input ");
for(var i = 0; i < 108; i++) {
alert(els[i].value);
}
}
</script>
</html>
[解决办法]
我是能用字符串拼接HTML就尽量不用DOM,呵呵,效率的差别,不是一般般的大的.
[解决办法]
var i = 0;
var strText = " <table border= '1 '> ";
while(true) {
if (i == 20) break;
if (i%2) {
strText += " <tr bgcolor= 'red '> ";
} else {
strText += " <tr bgcolor= 'blue '> ";
}
strText += " <td> &nbsp; </td> </tr> ";
i++;
}
strText += " </table> ";
document.write(strText);

正确啊,会不会你刚才贴的是完全的代码?难道i未定义未初始化????还有TR里必须有TD才能显示出来的.

热点排行
Bad Request.