プロが教えるわが家の防犯対策術!

こんにちは。

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です。

A 回答 (1件)

>呼ばれる場合と呼ばれない場合



なにをもって、「呼ばれる」とか「呼ばれない」と判断していますか?
alert("AAA")が表示されない場合があるのでしょうか?
基本的には呼ばれるようなつくりだと思いますが・・・

ちなみに
var formObj = document.getElementById("starter");
としているのに
<form method="post" name="starter" action="/getIchiran.do" >
とnameで呼ぶのはよろしくありません。
id="starter"としてください
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

nameはidに変更しました。
「呼ばれる」とか「呼ばれない」とは、前の画面にて、ボタンが押されると、このHTMLが呼ばれるのですが、このHTMLが展開する際に
onloadの関数が呼ばれるか呼ばれないかの事でした。
申し訳ありません、説明不足でした。

原因が分かりまして、前画面のボタンのtypeがsubmitになっており、
onclickイベントにもsubmitを呼ぶ処理が書かれており、
二度処理が流れる形だったため、onloadが呼ばれたり呼ばれなかったり
してたようです。
ボタンのtypeをbuttonに変えたらうまくいきました。


ありがとうございました。

お礼日時:2007/11/13 14:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!