<body>
<table id="tbl">
<tr><td><input type="button" value="button"/></td><td></td></tr>
<tr><td><input type="button" value="button"/></td><td></td></tr>
<tr><td><input type="button" value="button"/></td><td></td></tr>
<tr><td><input type="button" value="button"/></td><td></td></tr>
<tr><td><input type="button" value="button"/></td><td></td></tr>
</body>
<script language="javascript">
Function.prototype.bind = function(o)
{
var self = this;
var arg  = Array.prototype.slice.apply(arguments,[1]);
return function(){
self.apply(o,arg);
}
}
var inputs = document.getElementById("tbl").getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
var f = function(i){
var box = "<input type='text' name='textbox"+i+"'/>";
this.parentNode.nextSibling.innerHTML = box;
alert(this.parentNode.nextSibling.firstChild.name);
}
inputs[i].onclick= f.bind(inputs[i],i);
}
</script>

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <body>
    <form name="form1" method="post" action="">
      <table width="400" border="1" cellspacing="1" cellpadding="3">
        <tr>
          <td><input name="create1" type="button" id="create1" value="生成" onClick="createInputText(this);"></td>
        </tr>
        <tr>
          <td><input name="create2" type="button" id="create2" value="生成" onClick="createInputText(this);"></td>
        </tr>
        <tr>
          <td><input name="create3" type="button" id="create3" value="生成" onClick="createInputText(this);"></td>
        </tr>
        <tr>
          <td><input name="create4" type="button" id="create4" value="生成" onClick="createInputText(this);"></td>
        </tr>
        <tr>
          <td><input name="create5" type="button" id="create5" value="生成" onClick="createInputText(this);"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
    <script language="JavaScript" type="text/javascript">
    var index = 0;
    function createInputText(e){
      var input = document.createElement("input");
      input.id = "TextBox" + index;
      alert(input.id);
      index++;
      e.parentNode.appendChild(input);
    }
    </script>
      

  2.   

    ice_berg16(寻梦的稻草人) 
    谢谢高手!!!!!!!!
    我想在后台获取每一个 textbox的name 在.net里面用request.form[TextBoxName]分别找到这五个文本框的内容,这样我可以写成
    request.form[TextBox1]
    request.form[TextBox2]....来找到第一个文本框,第二个文本框的值吗??
    刚才有些错误,应该是文本框的name而不是id
      

  3.   

    这样干:
    function insertTextbox(clickedButton,boxName)
    {
        var obj=document.createElement("INPUT");
        obj.type="text";
        obj.name=boxName;
        clickedButton.parentElement().appendChild(obj);
    }
    在按钮的onclick里加上insertTextbox(this,"XXXXX")就行了
      

  4.   

    <table width="400" border="1" cellspacing="1" cellpadding="3">
        <tr>
          <td><input name="create1" type="button" id="create1" value="生成" onClick="createInputText();"></td>
        </tr>
        <tr>
          <td><input name="create2" type="button" id="create2" value="生成" onClick="createInputText();"></td>
        </tr>
        <tr>
          <td><input name="create5" type="button" id="create5" value="生成" onClick="createInputText();"></td>
        </tr>
      </table>
    <script language="JavaScript" type="text/javascript">
    function createInputText(){
      var obj=event.srcElement;
      var input = document.createElement("input");  
      obj.parentNode.insertAdjacentElement("afterBegin",input);
      while(obj.tagName!="TR"){obj=obj.parentNode;}
      input.name = "TextBox" + obj.rowIndex;
      alert(input.name);
    }
    </script>
      

  5.   

    request.form[TextBox2]....来找到第一个文本框,第二个文本框的值吗??应该是request("TextBox2")b
      

  6.   

    request("TextBox2")b??
    b是什么呢 ??
    还有,这个在静态网页上可以测试成功
    可到了.net里面和别的控件放一起点击就出不来文本框了。
    对了您的那个是.net语法吗?
    如果我想的到它的值我用
    lable存放得到这些文本中的值,我想通过for循环来给它们分别赋值
    for(int i=0;i<5;i++)
    {
     lable i =  request("TextBox i ")
    }
    不知道可以实现不
      

  7.   

    其实我的想法是:
    页面上本来有5个文本框,有的可能还有附加的条件,我就通过一个按钮来动态的添加文本框,在点提交按钮的时候就分别取到文本框里有值的项并把值存入相应的数据库列中,是不是我这样搞复杂了,请指点一下,感激~
    我用C#.net做的,谢谢大家,谢谢ice_berg16的关注~