如何获取动态控件(由js创建)的值
我的脚本如下:
<script type= "text/javascript ">
var i_row=0;
function rdl_doAdd( text)
{
var oTable=document.all[ "myTable "];
if (!qry_text(text))
{
var myTR =oTable.insertRow();
i_row++;
var myTD1=document.createElement( " <td align= 'center '> "),myTD2=document.createElement( " <td align= 'center '> "),
myTD3=document.createElement( " <td align= 'center '> "),myTD4=document.createElement( " <td align= 'center '> ");
myTR.insertBefore(myTD1);
myTR.insertBefore(myTD2);
myTR.insertBefore(myTD3);
myTR.insertBefore(myTD4);
var lb = document.createElement( " <label id= 'lb_ "+i_row+ " ' > ");
lb.innerText=text;
myTD1.insertBefore(lb);
var tb1=document.createElement( " <input type= 'text ' id= 'tb_mb "+i_row+ " ' width= '50px '> ");
myTD2.insertBefore(tb1);
var tb2=document.createElement( " <input type= 'text ' id= 'tb_zl "+i_row+ " ' width= '50px '> ");
myTD3.insertBefore(tb2);
var tb3=document.createElement( " <input type= 'text ' id= 'tb_bz "+i_row+ " ' width= '80px '> ");
myTD4.insertBefore(tb3);
}
alert(oTable.innerHTML);
var object=oTable.innerHTML.document.all[ "tb_mb1 "];
alert(object.innerText);
}
</script>
html代码:
<table cellspacing= "1 " id= "myTable " width= "100% " >
<tr>
<td align= "center " width= "150px "> 产品名称 </td>
<td align= "center "> 数量 </td>
<td align= "center "> 增量点 </td>
<td align= "center "> 说明 </td> </tr>
</table>
现在我想获取相关动态控件text的值(填写过后),请问各位大虾有何高招?
[解决办法]
动态控件创建和调用方法:
var inputText=document.createElment( "input "); //创建一个input
inputText.setAttribute( "type ", "text "); //设置这个input类型
inputText.setAttribute( "name ", "text1 "); //给这个文本框命名一个名字
alert(inputText.value); //弹出这个动态创建的控件的值。
其他的如button,password,file 等等类型,只需要改改上面的type就行了。获取值直接引用赋值的变量.value
在innerHTML里面写的哪些控件是没有办法操作的。除非你把触发事件也写进去。
------解决方案--------------------
document.createElement方法的参数是一个tagName,不能像你那样创建。如果你想把一个字符串创建为一个对象,可以自己写一个方法,例如:
function createHtmlElement(tagNameString) {
var element = document.createElement( "div ");
element.innerHTML = tagNameString;
return element.firstChild;
}
var myTD1=document.createElement( " <td align= 'center '> ")这样的句子改写为:
var myTD1= createHtmlElement( " <td align= 'center '> </td> ")
后面的高手继续。。。。。。