1

null or not an objectJavaScriptでコーディングしようとすると、このエラーが何度も発生するようです。これは、オプションの名前を表示するウィンドウをポップアップさせようとしている単純な例です。コーディング中にこのエラーを回避するにはどうすればよいですか?

このコードは、Internet Explorer で次のエラーを返します。

エラー: ' document.forms.0.questions' はnullオブジェクトであるかどうか

<!DOCTYPE html>
<!-- HTML5 style -->
<head>
<title>Challenge Question</title>
<script type="text/javascript">
/* <![CDATA[ */
window.alert(document.forms[0].questions.pet.name);
/* ]]> */
</script>
</head>
<body>
<form action="get" >
    <select name="questions">
        <option value="pet" name="pet">What is your pet's name?</option>
    </select>
</form>
</body>
</html>
4

2 に答える 2

2

要素は最初に DOM に追加する必要があり、その後でアクセスできます。今、まだ存在しない要素にアクセスしようとしています:

<!DOCTYPE html>
<html>

<head>
    <title>Challenge Question</title>
</head>
<body>
    <form action="get">
        <select name="questions">
            <!-- Element is added here -->
            <option value="pet" name="pet">What is your pet's name?</option>
        </select>
    </form>
    <script type="text/javascript">
        /* and can be accessed here, after it's added */
        console.log(document.forms[0].questions.options['pet']);
    </script>
</body>

</html>

フィドル

于 2013-03-31T06:19:47.727 に答える