HTMLページに次のJavaScriptがあり、ページ上のHTMLフォームを参照しています。
<script type="text/javascript">
<!--
var myForm = document.myForm;
function validateForm() {
if (myForm.myInput == "")
alert("Please input some text.");
return false;
}
myForm.submit();
}
function showFormInput() {
myForm.reset();
document.getElementById('myInput').style.display = 'inline';
}
//-->
</script>
...
<form name="myForm" id="myForm" action="..." method="post">
<input id="myInput" name="myInput" type="text" value="" style="display:none;" />
</form>
両方の関数は、変数にアクセスしようとするmyForm
と、「myFormがnullであるか、オブジェクトではない」という例外をスローします。なぜこれが発生するのですか?
更新:私がこれから収集していると思うことの1つは、グローバル変数は通常、DOMの要素ではなく、文字列リテラルに使用する必要があるということです。これを進めて、要素変数を慎重に使用し、DOMがロードされた後でのみ使用します。