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

怎么获取动态控件(由js创建)的值

2012-03-31 
如何获取动态控件(由js创建)的值我的脚本如下:scripttype text/javascript vari_row0functionrdl_d

如何获取动态控件(由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> ")

后面的高手继续。。。。。。

热点排行
Bad Request.