出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
[2762] checkboxの罠 |
投稿者:北岳さん 2002/10/02 16:07:29 |
この件、先日気付いたばかりですが。。。 下のASPを動かすと、画面に10個のチェックボックスができます。 ----------------1.asp------------ <html><body> <form action="1.asp" method="post"> <% response.write "<br>◆" & Request.Form("chk1") & vbcrLf for i=1 to 10 response.write "<br><input type='checkbox' name='chk1' value='OK'>" & i & vbcrLfnext %> <input type="submit" value="NEXT"> </form> </body></html> ----------------------------------- 今、1,3,5,7,9番目のチェックボックスにチェックを入れてsubmitすると、 ◆OK, OK, OK, OK, OK ---(1) が表示されます。 (◆OK,, OK,, OK,, OK,,OK , となることを期待しても、そうなりません。) 次に、2,4,6,8,10番目のチェックボックスにチェックを入れてsubmitすると、同じく ◆OK, OK, OK, OK, OK ---(2) が表示されます。 (◆, OK,, OK,, OK,, OK,,OK となることを期待しても、そうなりません。) なお、valueを指定しないと、(1)も(2)も、 ◆on, on, on, on, on となります。 --------------------- 結局、10個とも name が chk1 で同じだと、Request.Form("chk1")の戻り値は、カンマ区切りの1つの文字列になり、選択されないものが何番目か不明⇒選択された個数しか判らなくなります。 --------------------- で、 for i=1 to 10 response.write "<br><input type='checkbox' name='chk'" & i & "' value='OK'>" & i & vbcrLf next のようにすれば、 Request.Form("chk1"),Request.Form("chk2"),,, が個々に OK か null のどちらかを取るので、選択されたかどうかを個別に区別できます。 |
![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
TreeBBS For ASP V.0.1.3 |