Я пытаюсь написать код JavaScript для добавления нескольких строк в соответствии с числом, представленным во входном текстовом поле. Я пытаюсь сделать это, используя цикл FOR, но по какой-то причине он не работает. Можете ли вы объяснить мне, почему он не вставляет столько строк, сколько значение из входного текстового поля ??? Вот мой код:insertRow() не работает с циклом FOR
<!DOCTYPE html>
<html>
<head>
<br><meta charset=utf-8 />
<title>Insert rows in a Table</title>
</head>
<body>
<table id="table" border="1">
<tr>
<td>Row1 cell1</td>
<td>Row1 cell2</td>
</tr>
<tr>
<td>Row2 cell1</td>
<td>Row2 cell2</td>
</tr>
</table><br>
<form>
Type in a number:<input id="input" type="text" value=""}>
<input type="button" onclick="insert_Row()" value="add row(s)">
</form><br/>
<p id="p"></p>
<script>
var tableId = document.getElementById("table");
function insert_Row(){
var input = document.getElementById("input").value;
var number = Number(input);
for(i=0;i<number;i++){
var ii = i+1;
var newTR = table.insertRow(i);
var newTD1 = newTR.insertCell(i);
var newTD2 = newTR.insertCell(ii);
newTD1.innerHTML = "Row " + i + " Cell "+ i;
newTD2.innerHTML = "Row " + i + " Cell "+ ii;
};
};
</script>
</body>
</html>
Где вы определения '' table' и newTR'? – Dom
'var tableId = document.getElementById (" table ");' должно быть 'var table = document.getElementById (" table ");' –
Точно верно. Он путал 'tableid' с' table'. Вот как я ответил на этот вопрос –