POPUP・プロンプトに関することを教えてください。
動的なPOPUP・プロンプトを生成するには、次のJavaScriptにありますように、
URLとしてCGIをコールします。cgiへのパスに加えて引数を付加することも可能です。
function PMTWIN(){window.open("/cgi-bin/DSPPROMPT","PROMPT", "toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=auto,resizable=yes,width=270,height=285") }
eStudioが生成する「POPUP表示」などのソースでも確認することができます。
なお、このソースに手を加え、文字列や画像からPOPUP、プロンプトを出現させる場合は若干、
注意が必要です。
<a href="javascript:window.open("/cgi-bin/DSPPROMPT","PROMPT", "toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=auto,resizable=yes,width=270,height=285")"> リンク元文字列・画像</a>
これでは <a>タグの「href」属性と認識されるのは、最初のダブルクォートで囲まれた部分、
つまり"javascript:window.open("のみとなってしまい、リンク元をクリックしても実行エラーとなるでしょう。
これは「href」属性、JavaScript記述ともにダブルクォートを使用しているために生じるものです。 JavaScriptの方をシングルクォートで区切ることで適切なhref属性を渡すことができます。
<a href="javascript:window.open( '/cgi-bin/DSPPROMPT ' , ' PROMPT ' , ' toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=auto,resizable=yes,width=270,height=285 ' )"> リンク元文字列・画像</a>
なお、このような構文でリンク元文字列・画像をクリックした際、元の画面が白くなってしまい [object] という文字のみが表示される場合は、次の方法で回避することができます。
ヘッダ部分(<head>〜</head>)に共用スクリプトとして
<script Language="Javascript"> function openwindow(uri,nm,x,y) { window.open(uri,nm,x,y); } </script>
をあらかじめ記述し、リンク部分は
<a href="javascript:openwindow('/cgi-bin/DSPPROMPT','PROMPT', 'width=270,height=285')"> リンク元文字列・画像</a>
と記述します。
リンク指示部分の内容に従い、uriに「/cgi-bin/DSPPROMPT」、nmに「PROMPT」が代入された形で
幅270px、高さ285pxのポップアップウィンドウがオープンします。
つまり、リンク指示部分にて
をそれぞれ適したものに指定することになります。