dポイントプレゼントキャンペーン実施中!

最初の画面でAにチェックされているとします。
そのあとに、AとBをチェックしたあとにSubmitで送信します。
送信したあとに、AとBにチェックした最初の画面を表示させたいときは、
どんな風にすればよいのでしょうか。

今は・・・

If Request.Form=""
<input type="checkbox" name="test" value="A" checked>A
<input type="checkbox" name="test" value="B">B
<input type="checkbox" name="test" value="C">C
Else
Select Request.Form("test")
Case "A"
<input type="checkbox" name="test" value="A" checked>A
<input type="checkbox" name="test" value="B">B
<input type="checkbox" name="test" value="C">C
Case "B"
<input type="checkbox" name="test" value="A">A
<input type="checkbox" name="test" value="B" checked>B
<input type="checkbox" name="test" value="C">C
Case "C"
<input type="checkbox" name="test" value="A">A
<input type="checkbox" name="test" value="B">B
<input type="checkbox" name="test" value="C" checked>C

  ・・・

End Select
End If

というように、全ての場合のときに"checke"をつけて表示させています。
もっと、効率のよい書き方はないものでしょうか?

A 回答 (1件)

こんな感じでどうでしょう・・・?


やや見づらいような気はしますが、、、。
というか最近ASPやってないので文法ミス等あるかもしれないです。。。ごめんなさい(;´ー`)

case文でなくても、HTML出力時にif文で「checked」を出力するか否かを判定させるだけでいいと思います。

※変数valueにチェックされた項目がはいっているとします。

<input type="checkbox" name="test" value="A" <%If value = "A" then response.write "checked"%> >A
<input type="checkbox" name="test" value="B" <%If value = "B" then response.write "checked" %>>B
<input type="checkbox" name="test" value="C" <%If value = "C" then response.write "checked" %>>C

デフォルトでAにチェックをいれたいのであれば
if value = "A" or value = "" then ...
でいけるかと。。。
    • good
    • 0
この回答へのお礼

お返事が遅くなってしまい、すみません(..)
Select Case文で書くよりは、同じ文を何回もかかなくてすみ助かりました。
あと、文法的には

<input type="checkbox" name="test" value="A" <%If Request.Form("test")="A" then response.write "checked"%> >A
<input type="checkbox" name="test" value="B" <%If Request.Form("test")="B" then response.write "checked" %>>B
<input type="checkbox" name="test" value="C" <%If Request.Form("test")="C" then response.write "checked" %>>C

とすると、できました。
ありがとうございましたm(__)m

お礼日時:2002/06/21 09:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!