JavaScriptのアラートで「Yes」「No」をやりたい

今回も突然舞い込んできた某Webマスター“Aさん”の教えて攻撃である。

「JavaScriptのアラートで“Yes”“No”をやりたい」

JavaScriptのalertは「OK」「キャンセル」であるが、「Yes」「No」でやりたいらしい。

「できない」が一般的な回答。

であるがそれで引き下がるAさんではない。

「対応してくれない!」と騒がれるのも面倒だから、裏ワザを調べてみた。

JavaScriptからVBscriptの関数をcallするには
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200302_03020012.html
ここに書いてあると教えてあげても、即答で「分からん」ときた。困ったもんだ。

とりあえずもっと簡単なサンプルを作ってあげた。

……………
親フレーム
main3.html

<html>
<head><title>JavaScriptサンプル</title></head>
<frameset rows="100,*">
<frame src=up3.html name="up">
<frame src=down3.html name="down">
</frameset>
</html>

……………
up3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.0 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type"
content="text/JScript">
<title>スクリプト言語の混在</title>
</head>
<body>
<p><input type="button"
id="txt2" value="JScriptから、VBScriptのMsgBox関数を呼び出す"></p>
<script type="text/vbscript"><!–
Function txt1_onclick()
rc = MsgBox("あなたはジャイアンツが好きですか?",
vbYesNo)
txt1_onclick = rc
End Function
–></script>

<script type="text/JScript"><!–
function txt2::onclick()
{
r = txt1_onclick();

switch(r){
case 6: msg = "http://www.giants.jp/top.html";
break;
case 7: msg = "http://www.npb.or.jp/";
break;
default : msg = "http://www.yahoo.co.jp";
break;
}

parent.down.location.href = msg;
}
–></script>

</body>
</html>

……………
down3.html

<html>
<head><title>JavaScriptサンプル</title></head>
<body>
ダミーページ
</body>
</html>

……………

親切にここまでやってあげたのに「もういいや」だって…(哀れじゃ)



関連エントリー