- 締切済み
JavaScriptを用いた新しいWindowオープン
今まで作成していた画面に新たにボタンを追加することになりました。 追加ボタンは送信画面です。 もともと送信画面はあるので、以前まででしたら、 下記のJavaScriptを用いて <INPUT TYPE="button" VALUE="送信確認画面" onClick="javascript:okuru('{val 送信_URL}', 'disp')"> <!-- function okuru(action, mode){ document.forms[0].mode.value = mode; document.forms[0].action = action; return false; } というようにできたのですが、新しい画面を表示したいのですが、 うまくいきません。 イメージとしては下記のようにしたいのですが、 何かよい方法があればご教授お願いいたします。 <INPUT TYPE="button" VALUE="送信確認画面" onClick="window.open(javascript:okuru('{val 送信_URL}', 'disp'));">
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- coral0
- ベストアンサー率92% (13/14)
aiurai54さん、お初お目に掛かります。 さて、今回新しい画面を確認画面を表示したいと言うことですが、新しいウィンドウの開き方が少し違いますね JavaScriptのwindow.openでの引数は、 window.open(%1, %2, %3); %1: URL(長さ0文字列の場合はblank画面) %2: ウィンドウ名 %3: ウィンドウ初期設定 となります。 後、"javascript:"と言う記述は、HTML内のイベントでJavaScript処理の一番先頭に一度だけ書くものなので、記述としては以下のように記述するのが正しい記述方法です onClick="window.open(javascript:okuru('{val 送信_URL}', 'disp'));" ↓ onClick="javascript:window.open(okuru('{val 送信_URL}', 'disp'));" ただ、上記のような記述方法では、聊かウィンドウを開く方法としては無理があるかと思いますので、一つ例を書いておこうと思います。 aiurai54さんの"以前まで"のソースを基に、出来るだけそれらしく書いてみました。 kakunin()関数の追加とokuru()関数内に一行追加をしました (aiurai54さんの意に添えている例だと良いのですが・・・) <FORM> <INPUT TYPE="HIDDEN" NAME="mode"> <INPUT TYPE="BUTTON" VALUE="送信確認画面" onClick="JavaScript:okuru('{val 送信_URL}', 'disp');"> </FORM> <SCRIPT> <!-- function okuru(action, mode) { document.forms[0].mode.value = mode; document.forms[0].action = action; kakunin(); // モードにより処理を変える return false; } // modeにより処理内容を変更 function kakunin() { // modeを確認 if( document.forms[0].mode.value == "disp" ) { var win = window.open("", "kakunin", "width=300, height=200"); win.document.writeln("<HTML>"); win.document.writeln("<HEAD>"); win.document.writeln("<TITLE>確認用</TITLE>"); win.document.writeln("</HEAD>"); win.document.writeln("<BODY>"); win.document.writeln("送信ページ:" + document.forms[0].action + "<BR>"); win.document.writeln("</BODY>"); win.document.writeln("</HTML>"); } } //--> </SCRIPT>
お礼
ありがとうございます。参考にさせていただきます。