Я пытаюсь создать динамическую форму, которая добавляет элементы в определенную таблицу при нажатии кнопки. Я делаю это, вызывая функцию javascript, которая в этом примере создаст новое текстовое поле с именем и типом «item_3» со ссылкой на удаление рядом с ним. Веб-страница прекрасно работает в Firefox и Chrome, возможно, из-за того, что они не используют W3C строго как Internet Explorer. Он не будет работать в IE8 и выдаст ошибку «Unknown Runtime Error». Я уверен, что эта проблема связана с DOM и тем, как я использую свои элементы, но мне нужен способ динамического добавления элемента в конкретную таблицу. Вот голова:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script language="Javascript" type="text/javascript">
//Add more fields dynamically.
function addField(area,type)
{
if(!document.getElementById) return; //Prevent older browsers from getting any further.
var field_area = document.getElementById(area); //Select table to insert element
//Example, i want a textbox with id and name as item_3
var type = "item_";
var count = "3";
//Add html to insertiontable table
field_area.innerHTML += "<tr><td colspan='2'><input type='text' name='"+(type+count)+"' id='"+(type+count)+"'/><a style='cursor:pointer;color:blue;' onclick='this.parentNode.parentNode.removeChild(this.parentNode);'> Remove Box</a></td</tr>";
}
</script>
</head>
Раздел тела содержит мою форму. Есть две таблицы, table1 и вставляемый. Таблица 1 содержит текстовое поле и кнопку для вставки нового элемента "item_3" в вставляемую таблицу.
<body>
<form name="newbookform1" method="post" action ="">
<!--Table one-->
<table id="table1" align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td><strong>What:</strong></td><td><input type="text" name="item_1" id="item_1" /></td><td><input type="button" value="Add New Item Type" onclick="addField('insertiontable','item_');" /></td></tr>
</table>
<!--Table two-->
<table id="insertiontable" align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td colspan="2"><input type="text" name="item_2" id="item_2" /><a style="cursor:pointer;color:blue;" onclick="this.parentNode.parentNode.removeChild(this.parentNode);"> Remove Box</a></td></tr>
</table>
</form>
</body>
</html>
Очистка этого - головная боль для меня, как это может работать в IE8 с верным HTML? Ваша помощь очень ценится.