次のコードは関数内では機能しませんが、関数の外では完全に機能する理由は誰にも説明できますか?コンソールからそれを実行するdocument.forms.length関数は関数の外で0を返します。
function aa(){
document.forms.length;
}
は「未定義」を返しますが、私はちょうどコンソールからdocument.forms.lengthを実行したときに、それ自体は、ページ上のフォームの数を返します。私はこれがなぜ機能していないのか理解しようとしましたが、私はその理由を見つけることができません。それはfirefoxやchromeでも起こります。私はそれがうまくいかない理由はないと思う。
いくつかを明確にするために編集します。
ページが読み込まれた後、コンソールから実行されます。そして、以下が正しい値を返します。
document.forms.length;
このように私はなぜこのように動作しているのか分かりません。
ここで、テスト用HTMLページの正確な情報源はここにあります。
<html>
<head>
<title>test page 01</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<form>
<input type="text" name="test1" />
</form>
<form>
<input type="text" name="tes2" />
</form>
</body>
</html>
フレームが表示されないので、タグ内にプレーンなHTMLとフォームが表示されます。
は、あなたの関数を呼び出していますか? –
コンソールから実行しました。ページが実行された後。私はページが完成するまで待ってから書きます。そして、もし私が関数に入れてしまえば、document.forms.lengthが関数の外でうまく動作するので、それが違いを生むのではないかと疑います。 – 133794m3r
どのようなフレームが関係していますか? – lonesomeday