sign in | join about | help | sitemap
Connecting Tech Pros Worldwide
magix's Avatar

how to retrieve CheckBox value using GET Method ?


Question posted by: magix (Guest) on August 21st, 2008 05:45 PM
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


9 Answers Posted
Evertjan.'s Avatar
Guest - n/a Posts
#2: Re: how to retrieve CheckBox value using GET Method ?

magix wrote on 21 aug 2008 in microsoft.public.inetserver.asp.general:
Quote:
Originally Posted by
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:
Originally Posted by
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's Avatar
Guest - n/a Posts
#3: Re: how to retrieve CheckBox value using GET Method ?

Evertjan. wrote:
Quote:
Originally Posted by
Quote:
Originally Posted by
>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.'s Avatar
Guest - n/a Posts
#4: Re: how to retrieve CheckBox value using GET Method ?

Dave Anderson wrote on 21 aug 2008 in
microsoft.public.inetserver.asp.general:
Quote:
Originally Posted by
Evertjan. wrote:
Quote:
Originally Posted by
Quote:
Originally Posted by
>>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==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?= August 21st, 2008 08:15 PM
Guest - n/a Posts
#5: Re: how to retrieve CheckBox value using GET Method ?

"magix" wrote:
Quote:
Originally Posted by
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]'s Avatar
Bob Barrows [MVP] August 21st, 2008 08:25 PM
Guest - n/a Posts
#6: Re: how to retrieve CheckBox value using GET Method ?

Old Pedant wrote:
Quote:
Originally Posted by
"magix" wrote:
>
Quote:
Originally Posted by
>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==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?= August 21st, 2008 09:25 PM
Guest - n/a Posts
#7: Re: how to retrieve CheckBox value using GET Method ?



"Bob Barrows [MVP]" wrote:
Quote:
Originally Posted by
Old Pedant wrote:
Quote:
Originally Posted by
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/lib...948(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's Avatar
Guest - n/a Posts
#8: 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:
Originally Posted by
"magix" wrote:
>
Quote:
Originally Posted by
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:
Originally Posted by
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:
Originally Posted by
If sports = "" Then
... no sports selected ...
Else
sports = Split( sports, ", " ) ' that is COMMA-SPACE and *not* just

comma
Quote:
Originally Posted by
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:
Originally Posted by
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:
Originally Posted by
>


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's Avatar
Guest - n/a Posts
#9: Re: how to retrieve CheckBox value using GET Method ?

"magix" <magix@asia.comwrote in message
news:48ad9aed$1_2@news.tm.net.my...
Quote:
Originally Posted by
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's Avatar
Guest - n/a Posts
#10: Re: how to retrieve CheckBox value using GET Method ?

Old Pedant wrote:
Quote:
Originally Posted by
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:
Originally Posted by
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.



 
Not the answer you were looking for? Post your question . . .
197,049 members ready to help you find a solution.
Join Bytes.com

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 197,049 network members.
Post your question now . . .
It's fast and it's free

Popular Articles

Top Community Contributors