472,127 Members | 1,690 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,127 software developers and data experts.

Desperately: Need help selecting a checkbox

Hi,

I have developed an ASP page which dynamically displays a list of
checkbox options based on a SQL statement. Here is my code:

<div style="OVERFLOW:auto; Height: 150px">
<table>
<%
dim adOpenForwardOnly, adLockReadOnly
dim adCmdTable, ctr, checkboxID
adOpenForwardOnly = 0
adLockReadOnly = 1
adCmdTable = 2

dim objConn, objRS, cmdType

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("tanklink")
set objCommand = Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConn
objCommand.CommandType = 1
objCommand.CommandTimeout = 10
objCommand.CommandText = Session("newSQL")

objCommandType = adCmdText
set objRS = objCommand.Execute

while not objRS.EOF
ctr = ctr + 1
checkboxID = "tank_chkbox"
Response.Write "<tr>"
Response.Write "<td width='20px'>"
Response.Write "<input type='checkbox' name='"
& checkboxID & "' id='" & checkboxID & "' value='" & objRS("tankid")
&"' />"
Response.Write "</td>"
Response.Write "<td width='200px'>"
Response.Write objRS("Name")
Response.Write "</td>"
Response.Write "</tr>"
objRS.MoveNext
wend
objRS.Close
objConn.Close
set objRS = Nothing
set objConn = Nothing
%>
</table>
</div>

My code displays properly, but I am having trouble writing a function
or a procedure that will parse through the list of checkboxes to see
which checkbox is checked when a submit button is pressed. Can
someone please provide some sample code to get me started?

Response.Form("tank_chkbox") does not seem to work and gives me an
error when I try and use it.

Thanks

Jul 19 '05 #1
7 1796
> Response.Form("tank_chkbox") does not seem to work and gives me an
error when I try and use it.


What does "does not seem to work" mean? What is "an error", could you be
more specific? What does "try and use it" mean, can you show what code
you've tried?

--
http://www.aspfaq.com/
(Reverse address to reply.)
Jul 19 '05 #2
It appears from your code that the checkbox name is the same in all cases.
Is that your intent or were you planning to append the count in ctr to each
name.

If the checkboxes are all the same name then you will receive a
comma-separated list of the values for all the "checked" boxes. You can
access the individual values by splitting the list on comma or by iterating
through the form collection as in:

'split into array
avalues = split(request.form("tank_chkbox"), ",")

'iterate through form field
For i = 0 to request.form("tank_chkbox").count 'may need to start with 1
instead of 0
value = request.form("tank_chkbox")(i)

'do something with value
Next

Note: if your values may contain commas then you will need to use the
request.form method instead of split

If you are going to append the counter then you will need to loop through
the possible counter values and check for form fields.

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
<Rodney King> wrote in message
news:s3********************************@4ax.com...
Hi,

I have developed an ASP page which dynamically displays a list of
checkbox options based on a SQL statement. Here is my code:

<div style="OVERFLOW:auto; Height: 150px">
<table>
<%
dim adOpenForwardOnly, adLockReadOnly
dim adCmdTable, ctr, checkboxID
adOpenForwardOnly = 0
adLockReadOnly = 1
adCmdTable = 2

dim objConn, objRS, cmdType

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("tanklink")
set objCommand = Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConn
objCommand.CommandType = 1
objCommand.CommandTimeout = 10
objCommand.CommandText = Session("newSQL")

objCommandType = adCmdText
set objRS = objCommand.Execute

while not objRS.EOF
ctr = ctr + 1
checkboxID = "tank_chkbox"
Response.Write "<tr>"
Response.Write "<td width='20px'>"
Response.Write "<input type='checkbox' name='"
& checkboxID & "' id='" & checkboxID & "' value='" & objRS("tankid")
&"' />"
Response.Write "</td>"
Response.Write "<td width='200px'>"
Response.Write objRS("Name")
Response.Write "</td>"
Response.Write "</tr>"
objRS.MoveNext
wend
objRS.Close
objConn.Close
set objRS = Nothing
set objConn = Nothing
%>
</table>
</div>

My code displays properly, but I am having trouble writing a function
or a procedure that will parse through the list of checkboxes to see
which checkbox is checked when a submit button is pressed. Can
someone please provide some sample code to get me started?

Response.Form("tank_chkbox") does not seem to work and gives me an
error when I try and use it.

Thanks

Jul 19 '05 #3
Mark,

Thanks for responding. My problem is I can't even get the comma
seperated list. I'm very familiar with ASP.NET but am new to ASP and
JavaScript. What I essentially want to do is to have a submit button
onclick event iterate through the table collection that I created and
select the values of my checked checkboxes.

Here is the code I have for my submit button and function:
<script language="JavaScript">
function display_checkbox_values()
{
var selected_list;
selected_list = Response.Form("tank_chkbox");
alert(selected_list);
}
</script>
<td><INPUT type="submit" onclick="display_checkbox_values()"
id=submit1 name=submit1>
</td>

When this code is run, it gives me an error.

Aaron,

Thanks for responding. The error message that I am getting is
Response is not defined.
Thanks for all your help.

On Tue, 12 Oct 2004 13:46:37 -0700, "Mark Schupp"
<ms*****@ielearning.com> wrote:
It appears from your code that the checkbox name is the same in all cases.
Is that your intent or were you planning to append the count in ctr to each
name.

If the checkboxes are all the same name then you will receive a
comma-separated list of the values for all the "checked" boxes. You can
access the individual values by splitting the list on comma or by iterating
through the form collection as in:

'split into array
avalues = split(request.form("tank_chkbox"), ",")

'iterate through form field
For i = 0 to request.form("tank_chkbox").count 'may need to start with 1
instead of 0
value = request.form("tank_chkbox")(i)

'do something with value
Next

Note: if your values may contain commas then you will need to use the
request.form method instead of split

If you are going to append the counter then you will need to loop through
the possible counter values and check for form fields.


Jul 19 '05 #4
(a) there is no such thing as response.form
(b) you are mixing client-side and server-side script. Maybe you meant:

var selected_list = "<%=Request.Form("tank_chkbox")%>";

--
http://www.aspfaq.com/
(Reverse address to reply.)


<Rodney King> wrote in message
news:hd********************************@4ax.com...
Mark,

Thanks for responding. My problem is I can't even get the comma
seperated list. I'm very familiar with ASP.NET but am new to ASP and
JavaScript. What I essentially want to do is to have a submit button
onclick event iterate through the table collection that I created and
select the values of my checked checkboxes.

Here is the code I have for my submit button and function:
<script language="JavaScript">
function display_checkbox_values()
{
var selected_list;
selected_list = Response.Form("tank_chkbox");
alert(selected_list);
}
</script>
<td><INPUT type="submit" onclick="display_checkbox_values()"
id=submit1 name=submit1>
</td>

When this code is run, it gives me an error.

Aaron,

Thanks for responding. The error message that I am getting is
Response is not defined.
Thanks for all your help.

On Tue, 12 Oct 2004 13:46:37 -0700, "Mark Schupp"
<ms*****@ielearning.com> wrote:
It appears from your code that the checkbox name is the same in all cases.Is that your intent or were you planning to append the count in ctr to eachname.

If the checkboxes are all the same name then you will receive a
comma-separated list of the values for all the "checked" boxes. You can
access the individual values by splitting the list on comma or by iteratingthrough the form collection as in:

'split into array
avalues = split(request.form("tank_chkbox"), ",")

'iterate through form field
For i = 0 to request.form("tank_chkbox").count 'may need to start with 1
instead of 0
value = request.form("tank_chkbox")(i)

'do something with value
Next

Note: if your values may contain commas then you will need to use the
request.form method instead of split

If you are going to append the counter then you will need to loop through
the possible counter values and check for form fields.

Jul 19 '05 #5
Thanks Aaron,

I modified my JavaScript so that it looks like this:

<script language="JavaScript">
function display_checkbox_values()
{
var selected_list = "<%=Request.Form("tank_chkbox")%>";
alert(selected_list);
}
</script>

When I click on my submit button I no longer get an error message but
my alert window never fires. For now I just want to see if I'm
capturing anything.

Thanks
On Wed, 13 Oct 2004 09:53:31 -0400, "Aaron [SQL Server MVP]"
<te*****@dnartreb.noraa> wrote:
(a) there is no such thing as response.form
(b) you are mixing client-side and server-side script. Maybe you meant:

var selected_list = "<%=Request.Form("tank_chkbox")%>";


Jul 19 '05 #6
Ah, I see. Once again, you are confusing server-side and client-side
script. Request.Form("anything") will not be available until you actually
submit the form, so you can only do your alert on the receiving page (not on
the same page that holds the checkboxes). You will need to use client-side
script if you want to alert which checkboxes are checked BEFORE submitting
the form.

--
http://www.aspfaq.com/
(Reverse address to reply.)


<Rodney King> wrote in message
news:vr********************************@4ax.com...
Thanks Aaron,

I modified my JavaScript so that it looks like this:

<script language="JavaScript">
function display_checkbox_values()
{
var selected_list = "<%=Request.Form("tank_chkbox")%>";
alert(selected_list);
}
</script>

When I click on my submit button I no longer get an error message but
my alert window never fires. For now I just want to see if I'm
capturing anything.

Thanks
On Wed, 13 Oct 2004 09:53:31 -0400, "Aaron [SQL Server MVP]"
<te*****@dnartreb.noraa> wrote:
(a) there is no such thing as response.form
(b) you are mixing client-side and server-side script. Maybe you meant:

var selected_list = "<%=Request.Form("tank_chkbox")%>";

Jul 19 '05 #7
Thanks alot Aaron. That really helped. I'm finally beginning to get
it. :)
On Wed, 13 Oct 2004 11:20:16 -0400, "Aaron [SQL Server MVP]"
<te*****@dnartreb.noraa> wrote:
Ah, I see. Once again, you are confusing server-side and client-side
script. Request.Form("anything") will not be available until you actually
submit the form, so you can only do your alert on the receiving page (not on
the same page that holds the checkboxes). You will need to use client-side
script if you want to alert which checkboxes are checked BEFORE submitting
the form.


Jul 19 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Franco Fellico' | last post: by
9 posts views Thread by Phil Powell | last post: by
5 posts views Thread by Jez | last post: by
5 posts views Thread by Dave | last post: by
1 post views Thread by Bob Loveshade | last post: by
2 posts views Thread by engwar1 | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.