dポイントプレゼントキャンペーン実施中!

※この質問は以前こちらで質問させて頂いた内容と同じですが、
どうしてもうまくいかなかったため、再度質問させて頂きました。

js初心者です。
サブpage(診察予約のリンク先のhtml)で各フォーム(お問い合わせ・予約・ゲストブックなどを)を一つのhtmlにまとめたく、iframeもしくはinnerHTMLを使い、サブメニューでdisplay="none"切り替えなどで、各フォームを切り替えたいと作成し始めたものです。
 サーバーサイドのCGIはKentさんのフリーCGIのClipMailやAjaxを使用する予定でおります。

 ただ条件として、トップのコンテンツ内の「メール相談画像」ボタンからのリンク先はお問い合わせフォームで、通常の横メニューボタン(緑の)の診察予約ボタンからのリンク先は予約フォームがデフォルトとして表示されるようにしたいわけです 。

http://miya-fc-2008.sakura.ne.jp/(ご参考に拝見して頂きたいURLです。)

【フォームの外部jsファイル】
//トップからのリンク時の振り分け(予約フォームかお問合わせフォームかで)

document.body.onload=function(){//読み込みが終われば判定開始

alert('function直後OK');
if(location.search=="?mail_s"){//ファイル名の後に「?mail」が付いていれば
document.getElementById('mail_s').style.display="block";
document.getElementById('f1_title').style.background = 'url(images/sin_yoyaku/toiawase_form_title.gif)';
alert('if処理一回目OK');//「mail」フォームを表示
}
else
if(location.search=="?apo_s"){//「?appoint」ならば
document.getElementById('apo_s').style.display="block";
document.getElementById('f1_title').style.background = 'url(images/sin_yoyaku/yoyaku_form_title.gif)';
alert('if処理二回目OK');
}

else{//それ以外・指示なしのときは
document.getElementById('apo_s').style.display="block";
document.getElementById('f1_title').style.background = 'url(images/sin_yoyaku/yoyaku_form_title.gif)';
}
}


※js側でalertをおいて、デバッグをしぼってみたら、どうやらbody.onloadを読み込んでないようです。この箇所は以前の回答者
の方に教えて頂いた箇所で、自分でどう修正したらよいか分かりません。

アドバイス宜しくお願いします。

A 回答 (2件)

>>デバッグをしぼってみたら、どうやらbody.onloadを読み込んでないようです。




「document.body.onload=function(){...}」という記述は
<body>タグの後に記述してください。
もしくはfunctionに名前を与えて
<body>タグのonloadイベントハンドラに記述ください。

例)
<script>
function test(){...}
</script>
<body onload="test()">

No.1の方もおっしゃっていますが
「document.body.onload~」は広く認められた書き方ではありません。
普通は「window.onload~」とします。
「document.body.onload~」はIEでは動きますが、Firefoxといったブラウザでは動きません。
    • good
    • 0
この回答へのお礼

OKbokuzyo様>
詳しく教えて頂き本当にありがとうございました。
おかげ様で解決しましたし、意味まで把握できました。

お礼日時:2008/05/05 09:52

>>> デバッグをしぼってみたら、どうやらbody.onloadを読み込んでないようです。



onloadは、
document.body.onload
ではなく、
window.onload
    • good
    • 0
この回答へのお礼

auty様>

教えて頂き、本当にありがとうございました。
一発で解決できました。

お礼日時:2008/05/05 09:54

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