ダイアログを表示する

 Prototype JavaScript Windowsには通常のウィンドウ以外にダイアログも利用することができます。ダイアログを利用するとダイアログ上のボタンを押さない限りウィンドウ上の他の部分がクリックできない状態にすることができます。何かの確認を強制的に行いたい場合に便利です。
 ダイアログを表示させるにはDialogを使います。確認を行う場合にはDialog.confirm()を利用します。ボタンはOKとcancelの2つのみです。指定できるパラメータにはいくつかありますが以下のサンプルではwidthで横幅、heightで縦幅を指定しています。また、OKボタンに表示する内容はokLabelで、Cancelボタンに表示する内容はcancelLabelで指定します。
 ダイアログでOKボタンが押された場合に処理するには「ok:処理内容」とします。処理内容に関数名を指定すると関数が呼び出されます。function(){ }として匿名関数/無名関数を指定して処理させることもできます。(実際のサンプルを実行する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Prototype JavaScript Windowsサンプル</title>
<link href="default.css" rel="stylesheet" type="text/css">
<link href="main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="effects.js"></script>
<script type="text/javascript" src="window.js"></script>
<script type="text/javascript"><!--
function openDialog()
{
Dialog.confirm("自動販売機の下に100円が落ちていると思いますか?",
{ windowParameters: {width:300, height:100},
okLabel: "はい", cancelLabel: "いいえ",
ok:function() {
alert("まあ、あんまり落ちてないですね");
}
});}
// --></script>
</head>
<body>
<h1>Prototype JavaScript Windowsサンプル</h1>
<form>
<input type="button" value="ダイアログを開く" onClick="openDialog()">
</form>
</body>
</html>

 OKボタンが押された時の処理だけではなく、cancelボタンが押された時にも処理させるには「cancel:処理内容」とします。(実際のサンプルを実行する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Prototype JavaScript Windowsサンプル</title>
<link href="default.css" rel="stylesheet" type="text/css">
<link href="main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="effects.js"></script>
<script type="text/javascript" src="window.js"></script>
<script type="text/javascript"><!--
function openDialog()
{
Dialog.confirm("自動販売機の下に100円が落ちていると思いますか?",
{ windowParameters: {width:300, height:100},
okLabel: "はい", cancelLabel: "いいえ",
ok:function() {
alert("まあ、あんまり落ちてないですね");
},
cancel:function() {
alert("確かに、そうですね");
}
});}
// --></script>
</head>
<body>
<h1>Prototype JavaScript Windowsサンプル</h1>
<form>
<input type="button" value="ダイアログを開く" onClick="openDialog()">
</form>
</body>
</html>

[目次へ]

(2006.4.1)