B07 画像をクリックしたら質問を出し、答えによってページを分岐する

ボタンがクリックされるとYES/NO(OK/キャンセル)の質問のダイアログを出し、答えによって別のページへ跳びます。あらかじめ、この命令をSCRIPTタグ内にfunctionとして記述しておき、あとで A HREF="javascript:ファンクション名" で呼び出しています。この例ではシンプルなスクリプトですが、SCRIPTタグ内に命令文をまとめることで、HTML内をすっきりと整理することができます。


応用:
if()文の{ }の中のhref文を他の命令に書き換えて使ってみてください。location.href=のあとのリンク先を好きなページに取り替えて使う方法もありますね。ファンクション名SimpleB07()は命令語や予約語など以外なら自分の好きな名前を付けてもかまいません。
参照: function, if( ){ }else{ }, confirm(), location.href, javascript,

Sample

ボタンをクリックすると問題が出ます。



Source
ソース
(コピーしてお使いください)
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function simpleb07(){
  if( confirm('このページの内容はわかりましたか?\nOKならB08へ進む/キャンセルならB06へ戻る') == true ){
    window.location.href='simplb08.htm'
  } else {
    window.location.href='simplb06.htm'
  }
}
//-->
</script>
</head>
<body>

<a href="javascript:simpleb07()">
<img src="MONDAI1.GIF" width="120" border="0"></a>
ボタンをクリックすると問題が出ます。

</body>
</html>
functionは関数(複数のスクリプトをまとめて名前をつけたもの)を作る命令で、この場合のSimpleB07()は関数名です

if( xx == true ){ "命令文" }else{ "命令文" }は、もしxxがtrueなら最初の"命令文"を実行し、違ったら後の"命令文"を実行するという意味です。この場合、if( confirm("xxx") ){ "命令文" }else{ "命令文" }という風に==trueを省略してもokです

confirm("文章")は"文章"の入ったYES/NOダイアログを表示しOK(YES)ならtrue、キャンセル(NO)ならfalseを返します

\nは改行の意味です

window.location.href='SIMPLB08.HTM'は'SIMPLB08.HTM'というページを読み込むという意味です。この場合、self.location.hrefでもlocation.hrefでも同じ様に動きます

a href="javascript:命令文"はクリックしたら"命令文"を実行するという意味


Contents
| CONTENTS
| PART1 これだけ知っていれば大丈夫
| PART2 サンプルの紹介
| PART3 JavaScript言語仕様
| PART4 JavaScriptクイック書式一覧
| PART5 JavaScriptサイト
| オンラインサポートページ(回線をつないでください)


Maintained by
tato@fureai.or.jp works1997 Toshirou Takahashi