How do I add a photo to my comment or blog entry?
how to retrieve CheckBox value using GET Method ?
Hello Guest
  
  • Login
• Register…
• Start blog
  • Who, Where, When
• What can I do?
• What to Read?
  • Polls
• Avatars
• Interests
  • Cities and Countries
• Random blog
• Users search
  • Search
• Games
• Tests
• QAIX
  • Сообщества
• Talxy Chat
• Horoscope
• Online
 
Зарегистрируйся!

QAIX > ASP web-programming > how to retrieve CheckBox value using GET Method ? 22 August 2008 19:29:30

  Recent blog posts: 
  Forums:   
  Discuss: 
  Recent forum topics: 
  Recent forum comments:
  Moderators:

how to retrieve CheckBox value using GET Method ?

Magix 22 August 2008 19:29:30
 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&spo­rts=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


Add comment
Evertjan. 21 August 2008 20:16:25 permanent link ]
 magix wrote on 21 aug 2008 in microsoft.public.in­etserver.asp.general­:

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&spo­rts=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)

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)
Add comment
Dave Anderson 21 August 2008 20:24:11 permanent link ]
 Evertjan. wrote:
How cna I know how many "sports" have been selected ?
request.querystring­("sports").length

More like .Count:
http://msdn.microso­ft.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.


Add comment
Evertjan. 21 August 2008 20:41:27 permanent link ]
 Dave Anderson wrote on 21 aug 2008 in
microsoft.public.in­etserver.asp.general­:

Evertjan. wrote:
How cna I know how many "sports" have been selected ?
request.querystring­("sports").length
More like .Count:

Yesss!


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Add comment
Old Pedant 21 August 2008 22:11:01 permanent link ]
 "magix" wrote:

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.

Add comment
Bob Barrows 21 August 2008 22:18:27 permanent link ]
 Old Pedant wrote:
"magix" wrote:
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.


Add comment
Old Pedant 21 August 2008 23:20:01 permanent link ]
 

"Bob Barrows [MVP]" wrote:

Old Pedant wrote:
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.microso­ft.com/en-us/library­/ms524948(VS.85).asp­x

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("sp­orts"),", ","','")
& "') "
or similar.






Add comment
Anthony Jones 22 August 2008 11:14:08 permanent link ]
 "Old Pedant" <OldPedant@discussi­ons.microsoft.com> wrote in message
news:D­73A832B-9D6A-­4EB3-B8BE-CEC2CB4BC6­4B@microsoft.com...
"magix" wrote:
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??

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.


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.

Yikes. Is that 'less complex'? Have you tested it? Does it seem to you to
match the querystring structure seen in the OP?

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.

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


Add comment
Anthony Jones 22 August 2008 11:26:31 permanent link ]
 "magix" <magix@asia.com> wrote in message
news:48ad9aed$1_2@n­ews.tm.net.my...
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&spo­rts=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


Add comment
Dave Anderson 22 August 2008 19:29:30 permanent link ]
 Old Pedant wrote:
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?


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.



Add comment
 

Add new comment

As:
Login:  Password:  
 
 
  
 
Пожалуйста, относитесь к собеседникам уважительно, не используйте нецензурные слова, не злоупотребляйте заглавными буквами, не публикуйте рекламу и объявления о купле/продаже, а также материалы нарушающие сетевой этикет или УК РФ.


QAIX > ASP web-programming > how to retrieve CheckBox value using GET Method ? 22 August 2008 19:29:30

see also:
[Security & JAAS/JBoss] - Custum…
[JBoss AOP] - Re: error when calling…
пройди тесты:
see also:
Please somebody help
Critical Thinking!!!!

  Copyright © 2001—2008 QAIX
Idea: Miсhael Monashev
Помощь и задать вопросы можно в сообществе support.qaix.com.
Сообщения об ошибках оставляем в сообществе bugs.qaix.com.
Предложения и комментарии пишем в сообществе suggest.qaix.com.
Информация для родителей.
Write us at:
If you would like to report an abuse of our service, such as a spam message, please .