Следующий код, который я набрал, используется для добавления или удаления строк в таблице html. Когда я нажимаю кнопку «Добавить» без каких-либо проблем, но когда я нажимаю кнопку «Удалить», хотя хочу удалить определенную строку, я не могу. Я получаю предупредительное сообщение о том:Удаление строки таблицы с помощью кнопки
«не может прочитать свойство` onclick` нуль»
Как я могу исправить эту проблему?
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<SCRIPT language="javascript">
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;
}
}
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for (var i = 0; i < rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if (document.getElementById('button').onclick == true) {
if (rowCount <= 1) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
} catch (e) {
alert(e);
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD>
<INPUT type="button" name="button" value=delete id=delete onclick="deleteRow('dataTable')">
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
«onclick» - это событие, вы должны назначить там функцию. Событие никогда не будет «истинным», как это или что-либо еще (значение). Он просто укажет на функцию – llouk
, как ее исправить? – Amal
Я не знаю, что вы пытаетесь сделать там. Просто удалите этот оператор «if» – llouk