※ ChatGPTを利用し、要約された質問です(原文:BODYタグのonloadについて)
HTMLのBodyタグにて、onload処理を記述しているのですが、不思議な現象が起きます
このQ&Aのポイント
HTMLのBodyタグにて、onload処理を記述している場合、init関数が呼ばれる場合と呼ばれない場合があります。
呼ばれる場合と呼ばれない場合でも、HTML(JSP)は呼ばれている模様ですが、なぜこのような現象が起きるのかが分かりません。
質問者の環境はIE 6.0とWindowsXPです。
こんにちは。
HTMLのBodyタグにて、onload処理を記述しているのですが、
不思議な現象が起きます。。。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
// 初期表示
function init()
{
alert("AAA");
var formObj = document.getElementById("starter");
alert("formObj.action = " + formObj.action);
formObj.submit();
}
//-->
</script>
</head>
<body onload="init()" tabindex="-1">
Now Loading...
<form method="post" name="starter" action="/getIchiran.do" >
<%
System.out.println("このJSPにきてますか?");
%>
</form>
</body>
</html>
上記のように記述しているのですが、
onloadのinit関数が、呼ばれる場合と呼ばれない場合があります・・・
呼ばれる場合と、呼ばれない場合でも
「このJSPにきてますか?」のログは表示されているので、このHTML(JSP)は呼ばれている模様です。
どうしてこうのような現象が起きるのかさっぱり分からなくて・・・
何が悪いのか教えて頂けないでしょうか?
宜しくお願い致します。
IEは6.0、
OSはWindowsXPです。
お礼
ご回答ありがとうございます。 nameはidに変更しました。 「呼ばれる」とか「呼ばれない」とは、前の画面にて、ボタンが押されると、このHTMLが呼ばれるのですが、このHTMLが展開する際に onloadの関数が呼ばれるか呼ばれないかの事でした。 申し訳ありません、説明不足でした。 原因が分かりまして、前画面のボタンのtypeがsubmitになっており、 onclickイベントにもsubmitを呼ぶ処理が書かれており、 二度処理が流れる形だったため、onloadが呼ばれたり呼ばれなかったり してたようです。 ボタンのtypeをbuttonに変えたらうまくいきました。 ありがとうございました。