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では、「elements」コレクションに、DOMに動的に追加された要素が含まれていないようです。

既知の回避策はありますか(作成された要素への参照を保持したり、識別子を設定したりすることは別として)?

4

0 に答える 0