var obj1=document.createTextNode("Prot数");
var obj2=document.createElement("input");
obj.id="port";
obj.size="9";.....
var row=document.getElementsByTagName("table")[0].insertRow();
var cell=row.insertCell();

解决方案 »

  1.   


    不好意思,能写清楚一点吗? 我对Javascript不太懂,不太明白要把这段程序放在什么地方
      

  2.   

     <div>
            <table border="1" cellpadding="0" cellspacing="0" style="width: 80%;">
                <tr>
                    <td>
                        監視対象
                    </td>
                    <td>
                        <table border="1" cellpadding="0" cellspacing="0" style="width: 100%;">
                            <tbody id="tblbody">
                                <tr id="tr1">
                                    <td style="width: 10%;">
                                        1
                                    </td>
                                    <td style="width: 90%;">
                                        <table>
                                            <tr>
                                                <td>
                                                    Host名 :
                                                    <input id="txtHost1" type="text" />
                                                    IP地址:
                                                    <input id="txtIP1" type="text" /><br />
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    Port数:
                                                    <input id="txtPort1" type="text" />Port番号:
                                                    <input id="txtFH1" type="text" />&nbsp;&nbsp;
                                                    <input id="btnAppend1" type="button" value="追加" onclick="add()" />
                                                    <input id="btnRemove1" type="button" value="削除"  onclick="remove()" />
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                </tr>
                                
                            </tbody>
                        </table>
                    </td>
                </tr>
            </table>
            <p>
                <input type="button" value="追加" onclick="add()" />
            </p>
        </div><script language="javascript" type="text/javascript">
       
        var xh=1;
        function add()
        {
        var tbody=document.getElementById('tblbody');
        var newTr=document.createElement('tr');
        newTr.setAttribute('id','tr'+String(++xh));
        
        var newTd=document.createElement('td');
        newTd.appendChild(document.createTextNode(String(xh)));
        newTr.appendChild(newTd);
        
        newTd=document.createElement('td');
        
        var newTbl=document.createElement('table');
        var inRow=newTbl.insertRow(0);
        var inCell=inRow.insertCell(0);
        inCell.appendChild(createText('Host名 :'));
        inCell.appendChild(createInput('txtHost'+xh,'text',''));
        inCell.appendChild(createText('IP地址:'));
        inCell.appendChild(createInput('txtIP'+xh,'text',''));
        
        inRow=newTbl.insertRow(1);
        inCell=inRow.insertCell(0);
        inCell.appendChild(createText('Port数:'));
        inCell.appendChild(createInput('txtPS'+xh,'text',''));
        inCell.appendChild(createText('Port番号:'));
        inCell.appendChild(createInput('txtPFH'+xh,'text',''));
        var newButton=createInput('btnAppend'+xh,'button','追加');
        addEvent(newButton,'onclick',insert);
        inCell.appendChild(newButton);
        
        newButton=createInput('btnRemove'+xh,'button','削除');
        addEvent(newButton,'onclick',remove);
        inCell.appendChild(newButton);
        
        newTd.appendChild(newTbl);
        newTr.appendChild(newTd);
        
        tbody.appendChild(newTr);
        }
        
        
        function createInput(inputid,inputType,inputValue)
        {
           var newInput= document.createElement('input');
           newInput.setAttribute('id',inputid);
           newInput.setAttribute('type',inputType);
           newInput.setAttribute('value',inputValue);
           return newInput;
        }
        
        function createText(textString)
        {
            return document.createTextNode(textString);
        }
        
        function addEvent(theObject,eventName,eventFunc)
        {
            if(window.attachEvent)
            {
            theObject.attachEvent(eventName,eventFunc);
            }
            else if(window.addEventListener)
            {
            eventName = eventName.toString().replace(/on(.*)/i,'$1');
                theObject.addEventListener(eventName,eventFunc,true);
            }
        }
        
        function insert()
        {
            add();
        }
        function remove(clickObj)
        {
            var str=document.activeElement.id;
            str=str.replace(/btnRemove/,'');
            if(str.length==0) return;
            var tbody=document.getElementById('tblbody');
            tbody.removeChild(document.getElementById('tr'+str));
        }
        </script>
      

  3.   

    谢谢avon520 !
    上面的代码实现的是添加表的一行,给的2个追加按钮实现的是一样的功能,我想实现的是“Port番号“这一行的“追加“按钮点击之后,能够自动添加Port番号这个文本框,也就是Port番号的文本框是不定的,要添加或删除,而其余的HOst,IP,Port数这三个文本框是固定一个的。
    楼上的大虾我要怎么实现呢?
      

  4.   

        <script language="javascript" type="text/javascript">
      
       
        var xh=1;
        var fh=1;//番号
        function add()
        {
        var tbody=document.getElementById('tblbody');
        var newTr=document.createElement('tr');
        xh++;
        newTr.setAttribute('id',getControlID('tr'));
        
        var newTd=document.createElement('td');
        newTd.appendChild(document.createTextNode(String(xh)));
        newTr.appendChild(newTd);
        
        newTd=document.createElement('td');
        
        var newTbl=document.createElement('table');
        var inRow=newTbl.insertRow(0);
        var inCell=inRow.insertCell(0);
        inCell.appendChild(createText('Host名 :'));
        inCell.appendChild(createInput(getControlID('txtHost'),'text',''));
        inCell.appendChild(createText('IP地址:'));
        inCell.appendChild(createInput(getControlID('txtIP'),'text',''));
        
        inRow=newTbl.insertRow(1);
        inCell=inRow.insertCell(0);    var divMain=document.createElement('div');    var divPS=document.createElement('div');
        var lbl1=document.createElement('label');
        lbl1.appendChild(createText('Port数:'));
        lbl1.appendChild(createInput(getControlID('txtPS'),'text',''));
        divPS.appendChild(lbl1);
        divMain.appendChild(divPS);    var divFH=document.createElement('div');
        var lbl=document.createElement('label');
        lbl.appendChild(createText('Port番号:'));////番号
        lbl.appendChild(createInput(getFHControlID('txtPFH'),'text',''));
        divFH.appendChild(lbl);
        divMain.appendChild(divFH);
          
        inCell.appendChild(divMain);    var newButton=createInput(getControlID('btnAppend'),'button','追加');
        addEvent(newButton,'onclick',addFH);
        inCell.appendChild(newButton);
        
        newButton=createInput(getControlID('btnRemove'),'button','削除');
        addEvent(newButton,'onclick',removeFH);
        inCell.appendChild(newButton);
        
        newTd.appendChild(newTbl);
        newTr.appendChild(newTd);
        
        tbody.appendChild(newTr);
        }
        
        
        
        function createInput(inputid,inputType,inputValue)
        {
           var newInput= document.createElement('input');
           newInput.setAttribute('id',inputid);
           newInput.setAttribute('type',inputType);
           newInput.setAttribute('value',inputValue);
           return newInput;
        }
        
        function createText(textString)
        {
            return document.createTextNode(textString);
        }
        
        function addEvent(theObject,eventName,eventFunc)
        {
            if(window.attachEvent)
            {
            theObject.attachEvent(eventName,eventFunc);
            }
            else if(window.addEventListener)
            {
            eventName = eventName.toString().replace(/on(.*)/i,'$1');
                theObject.addEventListener(eventName,eventFunc,true);
            }
        }
        
        function getControlID(strid)
        {
            return strid+"_"+String(xh);
        }
        
        function getFHControlID(strid)
        {
            return strid+"_"+String(xh)+"_"+String(++fh);//
        }
        
        
        function addFH()
        {
          var divFH=document.activeElement.previousSibling;
          var div1=document.createElement('div');
          var lbl=document.createElement('label');
          lbl.appendChild(createText('Port番号:'));
          lbl.appendChild(createInput(getFHControlID('txtPFH'),'text',''));
          div1.appendChild(lbl);
          divFH.appendChild(div1);
        }
        function removeFH()
        {
            var p=document.activeElement.parentNode.firstChild;
            if(p.lastChild==null) return;
            if(p.lastChild.innerHTML.indexOf('番号')>0)
                p.removeChild(p.lastChild);
            
        }    </script>        <div>
                <table border="1" cellpadding="0" cellspacing="0" style="width: 80%;">
                    <tr>
                        <td>
                            監視対象
                        </td>
                        <td>
                            <table border="1" cellpadding="0" cellspacing="0" style="width: 100%;">
                                <tbody id="tblbody">
                                    <tr id="tr1">
                                        <td style="width: 10%;">
                                            1
                                        </td>
                                        <td style="width: 90%;">
                                            <table>
                                                <tr>
                                                    <td>
                                                        Host名 :
                                                        <input id="txtHost1" type="text" />
                                                        IP地址:
                                                        <input id="txtIP1" type="text" /><br />
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <div>
                                                            <div>
                                                                <label>
                                                                    Port 数:
                                                                    <input id="txtPort1" type="text" />
                                                                </label>
                                                            </div>
                                                            <div>
                                                                <label>
                                                                    Port番号:
                                                                    <input id="txtFH1" type="text" />
                                                                </label>
                                                            </div>
                                                        </div>
                                                        <input id="btnAppend1" type="button" value="追加" onclick="addFH()" />
                                                        <input id="btnRemove1" type="button" value="削除" onclick="removeFH()" />
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                </table>
                <p>
                    <input type="button" value="追加" onclick="add()" />
                </p>
            </div>