Connecting Tech Pros Worldwide Forums | Help | Site Map

how to retrieve CheckBox value using GET Method ?

magix
Guest
 
Posts: n/a
#1: Aug 21 '08
If I have

<form action="process.asp" method="get" name="form1">

....
....
<input TYPE=checkbox name=sports VALUE=Cricket>
<input TYPE=checkbox name=sports VALUE=Swimming>
<input TYPE=checkbox name=sports VALUE=Football>

</form>

If I check all, when submit, I will get in URL string

http://....?... &sports=Cricket&sports=Swimming&sports=Football

So, in process.asp, how can I differentiate each of them with
request.querystring("sports)?
How cna I know how many "sports" have been selected ?
Assume that all must having same checkbox name, and must use GET method,
instead of POST

Thanks.

regards,
Magix



Evertjan.
Guest
 
Posts: n/a
#2: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?


magix wrote on 21 aug 2008 in microsoft.public.inetserver.asp.general:
Quote:
If I have
>
<form action="process.asp" method="get" name="form1">
>
...
...
<input TYPE=checkbox name=sports VALUE=Cricket>
<input TYPE=checkbox name=sports VALUE=Swimming>
<input TYPE=checkbox name=sports VALUE=Football>
>
</form>
>
If I check all, when submit, I will get in URL string
>
http://....?... &sports=Cricket&sports=Swimming&sports=Football
>
So, in process.asp, how can I differentiate each of them with
request.querystring("sports)?
I think, but please test first:

request.querystring("sports")(0)
request.querystring("sports")(1)
Quote:
How cna I know how many "sports" have been selected ?
request.querystring("sports").length


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Dave Anderson
Guest
 
Posts: n/a
#3: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?


Evertjan. wrote:
Quote:
Quote:
>How cna I know how many "sports" have been selected ?
>
request.querystring("sports").length
More like .Count:
http://msdn.microsoft.com/en-us/library/ms524784.aspx


--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.


Evertjan.
Guest
 
Posts: n/a
#4: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?


Dave Anderson wrote on 21 aug 2008 in
microsoft.public.inetserver.asp.general:
Quote:
Evertjan. wrote:
Quote:
Quote:
>>How cna I know how many "sports" have been selected ?
>>
>request.querystring("sports").length
>
More like .Count:
http://msdn.microsoft.com/en-us/library/ms524784.aspx
Yesss!


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
 
Posts: n/a
#5: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?


"magix" wrote:
Quote:
If I have
<input TYPE=checkbox name=sports VALUE=Cricket>
<input TYPE=checkbox name=sports VALUE=Swimming>
<input TYPE=checkbox name=sports VALUE=Football>
>
So, in process.asp, how can I differentiate each of them with
request.querystring("sports)?
How cna I know how many "sports" have been selected ?
Other answers right, but more complex than needed.

Just do this:

<%
....
sports = Trim( Request("sports") ) ' do not need to say Request.QueryString
If sports = "" Then
... no sports selected ...
Else
sports = Split( sports, ", " ) ' that is COMMA-SPACE and *not* just comma
Response.Write "You selected " & UBound(sports)+1 " sports."
End If
....
%>

This works fine so long as none of the VALUE= values for the checkboxes
contain COMMA-SPACE.

But you should be sure you really need to do the SPLIT, first. You may be
able to do many SQL queries without bothering to get the individual choices.

Bob Barrows [MVP]
Guest
 
Posts: n/a
#6: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?


Old Pedant wrote:
Quote:
"magix" wrote:
>
Quote:
>If I have
> <input TYPE=checkbox name=sports VALUE=Cricket>
> <input TYPE=checkbox name=sports VALUE=Swimming>
> <input TYPE=checkbox name=sports VALUE=Football>
>>
>So, in process.asp, how can I differentiate each of them with
>request.querystring("sports)?
>How cna I know how many "sports" have been selected ?
>
Other answers right, but more complex than needed.
>
Just do this:
>
<%
...
sports = Trim( Request("sports") ) ' do not need to say
Request.QueryString
Perhaps not, but I would suggest you do so.
I'm surprised a pedant would advise someone to be less that precise! :-)

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.


=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
 
Posts: n/a
#7: Aug 21 '08

re: how to retrieve CheckBox value using GET Method ?




"Bob Barrows [MVP]" wrote:
Quote:
Old Pedant wrote:
Quote:
sports = Trim( Request("sports") ) ' do not need to say
Request.QueryString
>
Perhaps not, but I would suggest you do so.
I'm surprised a pedant would advise someone to be less that precise! :-)
LOL! But it *IS* precise...if you know what you are doing.

http://msdn.microsoft.com/en-us/libr...48(VS.85).aspx

Since QueryString is searched first, then
Request("foo")
is equivalent to
Request.QueryString("foo")
with the proviso that the latter actually exists.

Now, pedantically, if for some reason the querystring value does not exist
then the search process will indeed try to find that name in all the other
collections. But unless your code has created a "sports" key/value pair in
Request.Form (that is, via POST) or Cookies, that's not an issue.

Anyway, the reason I tended to use just Request was simple: During
development and debug, I'd use METHOD=GET in my <FORM>s so I could see in the
URL what I was passing. Then, once it was working and debugged, I'd change
to METHOD=POST but wouldn't have to change my VBS code.

A hack, but I think a reasonable one.

Anyway, I'll bet in this case there's no reason for him to know how many
were selected and/or separate them. I'll bet that if he constructed the SQL
efficiently he'd just need to do something such as
sql = " ... WHERE sport IN ('" & Replace(Request("sports"),", ","','")
& "') "
or similar.






Anthony Jones
Guest
 
Posts: n/a
#8: Aug 22 '08

re: how to retrieve CheckBox value using GET Method ?


"Old Pedant" <OldPedant@discussions.microsoft.comwrote in message
news:D73A832B-9D6A-4EB3-B8BE-CEC2CB4BC64B@microsoft.com...
Quote:
"magix" wrote:
>
Quote:
If I have
<input TYPE=checkbox name=sports VALUE=Cricket>
<input TYPE=checkbox name=sports VALUE=Swimming>
<input TYPE=checkbox name=sports VALUE=Football>

So, in process.asp, how can I differentiate each of them with
request.querystring("sports)?
How cna I know how many "sports" have been selected ?
>
Other answers right, but more complex than needed.
>
I'm sorry perhaps I'm miss reading you but you seem to be saying the other
answers are more complex than needed and yours below is simpler??
Quote:
Just do this:
>
<%
...
sports = Trim( Request("sports") ) ' do not need to say
Request.QueryString

Bob was more gentle, I would say that this is not a good practice at all.
Always use either .QueryString or .Form. I've seen the short cut above
cause too many headaches especially when a page was using GET then switches
to POST.

Quote:
If sports = "" Then
... no sports selected ...
Else
sports = Split( sports, ", " ) ' that is COMMA-SPACE and *not* just
comma
Quote:
Response.Write "You selected " & UBound(sports)+1 " sports."
End If
...
%>
>
This works fine so long as none of the VALUE= values for the checkboxes
contain COMMA-SPACE.
>
Yikes. Is that 'less complex'? Have you tested it? Does it seem to you to
match the querystring structure seen in the OP?
Quote:
But you should be sure you really need to do the SPLIT, first. You may be
able to do many SQL queries without bothering to get the individual
choices.
Quote:
>
Thats an interesting assertion. Can you achieve that without creating a SQL
statement using string concatenation which I'm sure you would agree would be
a bad thing?


--
Anthony Jones - MVP ASP/ASP.NET


Anthony Jones
Guest
 
Posts: n/a
#9: Aug 22 '08

re: how to retrieve CheckBox value using GET Method ?


"magix" <magix@asia.comwrote in message
news:48ad9aed$1_2@news.tm.net.my...
Quote:
If I have
>
<form action="process.asp" method="get" name="form1">
>
...
...
<input TYPE=checkbox name=sports VALUE=Cricket>
<input TYPE=checkbox name=sports VALUE=Swimming>
<input TYPE=checkbox name=sports VALUE=Football>
>
</form>
>
If I check all, when submit, I will get in URL string
>
http://....?... &sports=Cricket&sports=Swimming&sports=Football
>
So, in process.asp, how can I differentiate each of them with
request.querystring("sports)?
How cna I know how many "sports" have been selected ?
Assume that all must having same checkbox name, and must use GET method,
instead of POST
>
Why GET instead of POST? Do you deliberately want enable the possiblity
that a response can be delivered from the cache?

--
Anthony Jones - MVP ASP/ASP.NET


Dave Anderson
Guest
 
Posts: n/a
#10: Aug 22 '08

re: how to retrieve CheckBox value using GET Method ?


Old Pedant wrote:
Quote:
Anyway, the reason I tended to use just Request was simple: During
development and debug, I'd use METHOD=GET in my <FORM>s so I could
see in the URL what I was passing. Then, once it was working and
debugged, I'd change to METHOD=POST but wouldn't have to change my
VBS code.
This seems to contradict your earlier argument that Request("foo") is the
same as Request.QueryString("foo") because QueryString is the first
collection searched.

If you change your form methods to POST, are you not introducing a
useless -- and potentially interfering -- search through the QueryString
collection for your post-development scripts?

Quote:
A hack, but I think a reasonable one.
Well, that's one opinion.

We have solved countless problems by breaking people of this habit.
Likewise, default properties.



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.



Closed Thread