使用以下代码,将INPUT元素动态插入到FORM(如果尚未存在)。
<form id="form1">
<input type="button" value="Add field if not yet there" onclick="addField()" />
</form>
<script>
function addField()
{
var form1 = document.getElementById("form1");
var field = form1.elements["test"];
if (!field)
{
field = document.createElement("input");
field.type = "text"
field.name = "test";
form1.appendChild(field);
}
}
</script>
此代码适用于所有现代浏览器,但无法在IE7上运行(字段未定义)。
在IE7上,“elements”集合似乎不包含已动态添加到DOM的元素。
是否有任何已知的解决方法(除了保留对创建的元素的引用或设置标识符)?