私は一般的なaddRow関数を再利用しましたが、基本的なjsスキルにより、コードに大きな変更を加えることができません。
このエレガントな関数は機能しますが、新しい行のすべての要素に前の行とは異なる名前を付けたいと思います。友人が
var new_name = old_name.replace(rowCount, rowCount+1); //by using a counter
、したがって、以下の例では、新しく作成された行に要素「username_2」と「email_2」が含まれます。
ありがとう!
<INPUT TYPE="text" NAME="username_1"> : name <BR>
<INPUT TYPE="text" NAME="email_1"> : email <BR>
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}