パラメータ受け渡し

特定のASPページの入力情報(HTML)を、フォームタグを使って別の画面(aspページ)にPOSTする際のパラメータの受け渡しと、別Windowとして画面呼び出しする際のURLパラメタの受け渡し方法について記載します。

  • POSTによるパラメタ受け渡し
■test1.asp

<form action="test2.asp" method="post" name="TestForm">
  <input type="text" name="item">
  <input type="submit" value="実行">
</form>
■test2.asp

<%
Dim test
test = Response.Form("item")
%>

上記のitemという項目にブラウザより値を入力し、実行ボタンを押下すると、formタグに指定されたactionのtest2.aspがコールされパラメタがPOSTされます。test2.asp側では、Response.Formで項目名を指定する事で、その内容を取得することができます。

  • URLパラメタ受け渡し
■test1.asp

<%@  LANGUAGE="VBScript" %>
<%  Option Explicit %>
<%
    '変数定義
    Dim test1

    test1 = "TEST内容"
%>
<SCRIPT language="JavaScript">
<!--
    // ボタン押下処理
    function btn_click() {

        // 別ウィンドウを表示(URLパラメタ指定)
        var myform = document.forms[0];

        // URLパラメタ指定
        para = "TEST=100";
        para = para + "&TEST2=" + myform("item").value;

        // 別ウィンドウをOPENする。
	var wx = 600;
	var wy = 300;
	var x = (screen.width  - wx) / 2;
	var y = (screen.height - wy) / 2;
        var sw=window.open("","sw","left="+x+",top="+y+",width="+wx+",height="+wy + ",toolbar=no,location=no,deirectories=no,status=no,menubar=no,scrollbars=no,resizable=no");
	sw.focus();
      
        // フォームのtargetにOPENした別ウィンドウを指定
	document.forms[0].target="sw";

        // フォームのactionに対象ASPとURLパラメタを指定
	document.forms[0].action="test2.asp?" + para;
    }
// -->
</SCRIPT>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html;charset=Shift_JIS">
<TITLE>テスト</TITLE>
</HEAD>
<FORM  target="_parent" method="POST">
<BODY>
    <INPUT type="button" name="btnTest" value="実行" onclick="btn_click()">
    <INPUT TYPE="hidden" name="item" value="<%=test1%>">
</BODY>
</FORM>
</HTML>
■test2.asp

<%
Dim test
Dim test2
test = Request.QueryString("TEST")
test2 = Request.QueryString("TEST2")
%>

test1.aspでは実行ボタン押下時にコールされたbtn_click処理の中で、item項目の値を変数paraに設定し、新規windowをtargetとし、aspページの後ろに?&にて、URLパラメタとして設定しています。URLパラメタは1項目目は?、2項目目からは&でつなぎます。

test2.aspでは、Request.QueryStringを使って、受け渡されたURLパラメタの項目値を取得することができます。
今回はFORMタグのmethodでPOST指定している為、POSTされますが、GETの場合は、外部からURLパラメタは丸見えですので注意が必要です。