アプリ版:「スタンプのみでお礼する」機能のリリースについて

リストボックスで選択後送信ボタンにより送信された内容から、
未選択の項目のvalue値を取得したいのですが可能なのでしょうか?
やりたいことは、送信したリストボックスに表示した全ての項目が知りたく、
さらにその選択状態を判定したいのです。

どうかお力添えを。

A 回答 (3件)

リストボックスでも、ラジオボタンでも、チェックボックスでも未選択のvalue値は送信されません。



送信されていないものは取得も出来ないわけで、どうしても取得したいのであれば、hiddenで全ての値も別名で送ってあげる必要があります。

■ HTML側
<form action="sample.asp" method="post">
<input type="hidden" name="f1" value="aaa">
<input type="hidden" name="f1" value="bbb">
<input type="hidden" name="f1" value="ccc">

<select name="f2" multiple>
<option value="aaa">aaa</option>
<option value="bbb">bbb</option>
<option value="ccc">ccc</option>
</select>

<input type="submit" value="送信">
</form>

■ASP側(sample.asp)
<%
Dim i
Dim j

Response.Write "■リストボックスの値一覧<br>"

If Request.Form("f1").Count > 0 Then
For i = 1 To Request.Form("f1").Count
Response.Write "value=" & Server.HTMLEncode(Request.Form("f1")) & "<br>"
Next
End If

Response.Write "■選択された値<br>"

If Request.Form("f2").Count > 0 Then
For j = 1 To Request.Form("f2").Count
Response.Write "selected value=" & Server.HTMLEncode(Request.Form("f2")) & "<br>"
Next
End If
%>

こんな感じでしょうか?
#動作テストしてないのでエラー出たらすいません(^^;;
    • good
    • 0
この回答へのお礼

細かな説明感謝します。
隠しエリアをとる方法がよさそうですね。
ありがとうございます

お礼日時:2002/10/07 08:36

#1さんが言ってることを理解してないようですねぇ。



hoge.aspのリストボックスに「A,B,C,D」と4つのレコードをDBから拾ってきて仕込んだ。
ユーザーがAとCを選択して[送信]ボタンを押した。
hogehoge.aspで再度DBより「A,B,C,D」の4レコードを取得する。
そのうちAとC以外の値が「選択されていない項目」であるわけですよ。

まぁ上記の例ではリストボックスの値をDBから取得して仕込んだことにしていますが、nature-boyさんがどこかから拾ってきた値をご自分で仕込んでいるわけですから、もう一度拾ってくることは可能でしょ?
    • good
    • 0
この回答へのお礼

ご回答・補足ありがとうございます。
よく分かりました

確かにDBから取得しています。
レスポンスの点から、DBよりの再取得で差異を取る方法は止めました。
現状、差異はNo.3さんのように隠しエリアを使用して取っています。

ところがリストボックスに表示する情報が長くなったので、
隠しエリアを使用する方法を検討しようとしています。
そこで、未選択の情報を取得できる方法があるかと思ったのですが
無理のようですね。

お礼日時:2002/10/07 08:31

開発言語は?



そのリストボックスもダイナミック出力すれば分かりますよね?
自分で吐き出したのだから・・・

この回答への補足

ご回答ありがとうございます
ひょっとしてSpurさんの意図を汲み取ってないかもしれませんが
アドバイスされた内容のレスをさせていただきます。

>開発言語は?
Microsoft ASP(サーバーサイドで動かすVBS)
IE5.0以上 + + WINDOWS 2000 + SQL SERVERです

>そのリストボックスもダイナミック出力すれば分かりますよね?
>自分で吐き出したのだから・・・

一応、送信後以下のようなロジックで検証しています

ary_select = split(Request("選択"),",")
ctl = Ubound(ary_select)
for i = 0 to ctl
response.write ary_select(i)
next

結果はもちろん選択されているもののVALUE値しか取得できませんでした。
この方法以外で、非選択項目のVALUE値も取得できないかと思っての質問です。


なにかお気づきの点がございましたら教えてください

補足日時:2002/10/05 13:55
    • good
    • 0

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