크롬에서 아래 코드를 렌더링하면 잘 표시되지만 IE를 사용하면 행이 추가되지 않습니다. 인터넷 익스플로러에서 작동하지 않는 이유가 무엇인지 나에게 설명해 주시겠습니까? IE에서 새 행을 추가 할 때 새 행에 컨트롤이 추가되지 않습니다. 이 크롬과 파이어 폭스에서 잘 작동하지만 IE에서 작동하지 않습니다. 나는 IE에 뭔가 특별한 것을 놓치지 않으면 코드에서 아무 것도 잘못 찾지 못했습니다. 당신의 도움에 감사드립니다.Javascript는 크롬에서는 작동하지만 IE에서는 작동하지 않습니다
<head>
<title></title>
<script type="text/javascript">
function insertAdditional() {
var type = document.getElementById('additional_type').value;
var node = document.createElement('li');
node.innerHTML = document.getElementById(type + 'Form').innerHTML;
document.getElementById('additional').appendChild(node);
}
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name = "chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "date";
element2.size = "12";
element2.maxlength = "10";
element2.placeholder = "YYYY-MM-DD";
element2.name = "entrydate[]";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.type = "date";
element3.size = "12";
element3.maxlength = "10";
element3.placeholder = "YYYY-MM-DD";
element3.name = "eventdate[]";
cell3.appendChild(element3);
var cell4 = row.insertCell(3);
var element4 = document.createElement("textarea");
element4.type = "text";
element4.name = "comment[]";
element4.rows = "4";
element4.cols = "60";
cell4.appendChild(element4);
}
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 (null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
}
} catch (e) {
alert(e);
}
}
</script>
</head>
<body>
<h1>
Comments</h1>
<div>
<input type="button" value="Add Comment" onclick="addRow('dataTable')" />
<input type="button" value="Delete Comment" onclick="deleteRow('dataTable')" /> </div>
<table id="dataTable" width="1024px" border="1" cellpadding="10">
<tr>
<th>
<center>
Choose</center>
</th>
<th>
<center>
Entry Date</center>
</th>
<th>
<center>
Event Date</center>
</th>
<th>
<center>
Comment</center>
</th>
</tr>
<tbody>
<tr>
<td>
<input type="checkbox" name="chk[]" />
</td>
<td>
<input type="date" placeholder="YYYY-MM-DD" size="12" maxlength="10" name="entrydate[]" />
</td>
<td>
<input type="date" placeholder="YYYY-MM-DD" size="12" maxlength="10" name="eventdate[]" />
</td>
<td>
<textarea rows="4" cols="60" maxlength="500" name="comment[]"></textarea>
</td>
</tr>
</tbody>
</table>
</body>
* "... IE를 사용하면 행이 추가되지 않습니다 ... IE에서 새 행을 추가하면 새 행이 컨트롤을 추가하지 않습니다 ..."* 어느 쪽입니까? 행이 추가되지 않거나 추가되지는 않지만 컨트롤은 그렇지 않습니다. –
죄송합니다. 예, 컨트롤이 IE에 추가되지 않습니다. – bladerunner
[jsfiddle] (http://jsfiddle.net/NKV8M/) 쉽게 재현하고 싶은 사람들을 위해. –