フォーム部品集合がnodeName、childNodesプロパティを持っている

例示

<script type="text/javascript">
function check() {
    var obj = document.forms[0].elements;
    if (obj.nodeName && obj.childNodes) {
        alert(obj.nodeName + '\n' + obj.childNodes.length);
    } else {
        alert('False.')
    }
}
</script>

<form action="#" id="f1">
<div><input type="text" name="i1"></div>
<div><input type="button" value="プロパティ参照" onclick="check()"></div>
</form>

「プロパティ参照」ボタンを押すと問題のプロパティが有効であるかを判定します。有効であればノード名と子ノードの数を、そうでなければ「False.」の文字列をアラートで出力します。

実行結果

UAアラートの内容
Moz1.0False.
WinIE6.0FORM
2

補足

このバグの原因は、documents.forms[n]document.forms[n].elements が同じオブジェクトを参照しているためと考えられます。

修正状況

WinIE6.0でも同様の現象が発生します。

関連記事

スポンサーリンク

EclipseでPHPプロジェクトにする方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る