0

使用下面的代码,它会动态地将 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 上,“元素”集合似乎不包含已动态添加到 DOM 的元素。

是否有任何已知的解决方法(除了保留对已创建元素的引用或设置标识符)?

4

0 回答 0