Desperately: Need help selecting a checkbox

R

Rodney King

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
 
A

Aaron [SQL Server MVP]

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?
 
M

Mark Schupp

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.
 
R

Rodney King

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.
 
A

Aaron [SQL Server MVP]

(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")%>";
 
R

Rodney King

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
 
A

Aaron [SQL Server MVP]

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,222
Members
46,809
Latest member
moe77

Latest Threads

Top