出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

画面遷移後のパラメータセットについて   sariさん [2004/12/07 14:13:49] [4827]
  Re:画面遷移後のパラメータセットについて   Lightningさん [2004/12/07 15:12:34] [4828]
    発言者により削除されました!! sariさん [2004/12/07 15:30:28] [4829]
    Re:画面遷移後のパラメータセットについて   sariさん [2004/12/07 15:31:45] [4830]
      Re:画面遷移後のパラメータセットについて   Lightningさん [2004/12/07 15:58:41] [4831]

[4827] 画面遷移後のパラメータセットについて
投稿者:sariさん 2004/12/07 14:13:49
以下のASP1で、OptionでAAAとBBBを選択しGETでASP2へsubmitした際
ASP2ではASP1と同様のchekboxがあり、AAAとBBBが選択されているかを判定し、選択されているのであればchecked状態にして表示したいと思っております
Request.QueryStringでパラメータを判別する所までは調べられたのですが、その後の作りこみで苦慮しております。ご指導頂けませんでしょうか。

<FORM ACTION = "ASP2.asp" METHOD = "GET">
<SELECT NAME = "select">
<OPTION>AAA
<OPTION>BBB
</SELECT>
<P><INPUT TYPE = SUBMIT></P>
</FORM>

[4828] Re:画面遷移後のパラメータセットについて
投稿者:Lightningさん 2004/12/07 15:12:34
nameのselectはマズイかもしれないですよ?
まぁ、とりあえず
<form action="asp2.asp" method="get">
<select name="S1">
<option value="0">AAA</option>
<option value="1">BBB</option>
</select>
<input type="submit">
</form>
だとしましょうか
だとすると、ASP2.aspで
S1 = Request.QueryString("S1")
if(S1=0)then
O1=" checked"
O2=""
else
O1=""
O2=" checked"'スペースつきの理由は後述っていうかみればわかる
end if
としておいて
<form>
<select>
<option<%=O1%>>AAA</option>
<option<%=O2%>>BBB</option>
</select>
</form>
としてはいかがかな?

[4829] Re:画面遷移後のパラメータセットについて
投稿者:sariさん 2004/12/07 15:30:28
発言者により削除されました!!

[4830] Re:画面遷移後のパラメータセットについて
投稿者:sariさん 2004/12/07 15:31:45
早速のご回答誠にありがとうございます。
実は、optionは3つあり、selectは2つあります。(ご指摘どおり名前を変えました)
optionは、0個の時もあれば、全部チェックされている時もあります。
そのため、case文などがいいのかなと考えていました。
先ほどの回答を見て、以下の場合ではif文ではコーディングがうまくいかないと思いました。何かよい方法はないでしょうか。
<form method="GET" action="ASP2.asp" ID="Form1">
<SELECT NAME = "fruit">
<OPTION>banana
<OPTION>kiwi
<OPTION>orange
</SELECT>
<SELECT NAME = "color">
<OPTION>red
<OPTION>blue
<white>
</SELECT>
<P><INPUT TYPE = SUBMIT></P>
</FORM>

[4831] Re:画面遷移後のパラメータセットについて
投稿者:Lightningさん 2004/12/07 15:58:41
とりあえず、すまんかった
checkedでなくてselectedだった。

とりあえず、わかるとおもうけど、Request.QueryStringで情報は受取れます。
これは分かるよね?
うけとったら該当のOptionにselectedをつけるだけです。
ぶっちゃけ何がやりたいのかがさっぱりだし、Selectで複数選択したとしてもできるはずだが?

<%
dim FO(10)
aFruit = Request.QueryString("fruit")
aColor = Request.QueryString("color")
for i=0 to Ubound(FO)
FO(i)=""
next
FO(aFruit)="selected"

CO0=""
CO1=""
select case aColor
case "red"
CO0=" selected"
case "blue"
CO1=" selected"
end select
%>
<html>
<head></head>
<body>
<form method="GET" action="./asp2.asp" ID="Form1">
<SELECT NAME = "fruit">
<OPTION value="0"<%=FO(0)%>>banana
<OPTION value="1"<%=FO(1)%>>kiwi
<OPTION value="2"<%=FO(2)%>>orange
</SELECT>
<SELECT NAME = "color">
<OPTION<%=CO0%>>red
<OPTION<%=CO1%>>blue
</SELECT>
<P><INPUT TYPE = SUBMIT></P>
</FORM>
<%=aFruit%><br>
<%=aColor%>
</body>
</html>
2パターンサンプルだ。
丸写しするんじゃなくて良く読んでみてください。
丸写しで実行しても良いです。実行する場合はactionのファイル名を自分にして下さい。



TreeBBS For ASP V.0.1.3
Program By YasNet