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();
var obj2=document.createElement("input");
obj.id="port";
obj.size="9";.....
var row=document.getElementsByTagName("table")[0].insertRow();
var cell=row.insertCell();
不好意思,能写清楚一点吗? 我对Javascript不太懂,不太明白要把这段程序放在什么地方
<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" />
<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>
上面的代码实现的是添加表的一行,给的2个追加按钮实现的是一样的功能,我想实现的是“Port番号“这一行的“追加“按钮点击之后,能够自动添加Port番号这个文本框,也就是Port番号的文本框是不定的,要添加或删除,而其余的HOst,IP,Port数这三个文本框是固定一个的。
楼上的大虾我要怎么实现呢?
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>