469,336 Members | 5,933 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,336 developers. It's quick & easy.

Classic ASP question

I have very little experience of Classic ASP, but I need to take some
data from a table, write it to the screen in a tabular format, show a
check box at the end of every row, and write some code to enable the
user to check all check boxes, and then some code to respond to a button
click to find out which rows were checked.

I know how to read data from a recordset and put it into a <table>
object, but the rest, particularly the check box bits, are giving me
problems. Can somebody please help me out?


*** Sent via Developersdex http://www.developersdex.com ***
Aug 6 '08 #1
5 4357
"Mike P" wrote:
I have very little experience of Classic ASP, but I need to take some
data from a table, write it to the screen in a tabular format, show a
check box at the end of every row, and write some code to enable the
user to check all check boxes, and then some code to respond to a button
click to find out which rows were checked.
Well, the "check all check boxes" will be JavaScript code, in the browser,
nothing to do with ASP.

And you don't say *WHAT* the code that "respond[s] to a button click" is
supposed to do. Just say "You checked boxes 17, 33, and 42"??? Or delete
records from the DB? Or copy records?

In other words, does the response need to be JS in the browser or ASP code
on the server?

*ASSUMING* you mean that you want to (say) delete all the checked records,
it's pretty easy.

Since you give us so little info about your app, I'll make some simplistic
assumptions. I'm doing it all on one page. So the <formsubmits back to
the same page and, if there are an records to be deleted, they are deleted.
Whether a delete occurred or not, all the non-deleted records are shown with
checkboxes.

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string..."

If Trim( Request("DELETE") ) <"" Then
' submit was pushed, delete all checked records
SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
howMany = -1
conn.Execute SQL, howMany
Response.Write "<h2>Deleted " & howMany & " records</h2><P>"
End If
%>
<form method="POST">
<table border=1 cellpadding=5>
<%
SQL = "SELECT ID, Name, Address FROM people"
Set RS = yourAlreadyOpenConnection.Execute( SQL )
Do Until RS.EOF
%>
<tr>
<td><%=RS("Name")%></td>
<td><%=RS("Address")%></td>
<td><input type=checkbox name="ZAP" value="<%=RS("ID"%>"></td>
</tr>
<%
RS.MoveNext
Loop
%>
</table>
<input type=submit value="Delete checked people" name="DELETE">
</form>

And that's all there is to it. Presto.

p.s.: Assumes the the ID field is a numeric field. Minor change needed if
it's a text field.

Aug 6 '08 #2
Oh, what the heck...

Here's the code for adding a "CHECK ALL" button:

<HTML>
<HEAD>
<SCRIPT>
function checkAll( cbs )
{
if ( cbs.length == null )
{
// if only one checkbox
cbs.checked = true;
return; // only one to do
}
for ( var c = 0; c < cbs.length; ++c )
{
cbs[c].checked = true;
}
}
</SCRIPT>
</HEAD>
<BODY>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string..."

If Trim( Request("DELETE") ) <"" Then
' submit was pushed, delete all checked records
SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
howMany = -1
conn.Execute SQL, howMany
Response.Write "<h2>Deleted " & howMany & " records</h2><P>"
End If
%>
<form method="POST">
<INPUT Type=Button Value="Check all" onClick="checkAll(this.form.ZAP);">
<table border=1 cellpadding=5>
<%
SQL = "SELECT ID, Name, Address FROM people"
Set RS = yourAlreadyOpenConnection.Execute( SQL )
Do Until RS.EOF
%>
<tr>
<td><%=RS("Name")%></td>
<td><%=RS("Address")%></td>
<td><input type=checkbox name="ZAP" value="<%=RS("ID"%>"></td>
</tr>
<%
RS.MoveNext
Loop
%>
</table>
<input type=submit value="Delete checked people" name="DELETE">
</form>
</BODY></HTML>

Should have mentioned that this is all off the top of my head, utterly
untested. But it's warranted against bugs, anyway!

Guaranteed to be free of carpenter ants and dung beetles for 30 picoseconds
or 30 picometers, whichever comes first.
Aug 6 '08 #3


"Old Pedant" <Ol*******@discussions.microsoft.comwrote in message
news:92**********************************@microsof t.com...
Oh, what the heck...

Here's the code for adding a "CHECK ALL" button:

<HTML>
<HEAD>
<SCRIPT>
function checkAll( cbs )
{
if ( cbs.length == null )
{
// if only one checkbox
cbs.checked = true;
return; // only one to do
}
for ( var c = 0; c < cbs.length; ++c )
{
cbs[c].checked = true;
}
}
</SCRIPT>
</HEAD>
<BODY>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string..."

If Trim( Request("DELETE") ) <"" Then
' submit was pushed, delete all checked records
SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
howMany = -1
conn.Execute SQL, howMany
Response.Write "<h2>Deleted " & howMany & " records</h2><P>"
End If
%>
<form method="POST">
<INPUT Type=Button Value="Check all" onClick="checkAll(this.form.ZAP);">
<table border=1 cellpadding=5>
<%
SQL = "SELECT ID, Name, Address FROM people"
Set RS = yourAlreadyOpenConnection.Execute( SQL )
Do Until RS.EOF
%>
<tr>
<td><%=RS("Name")%></td>
<td><%=RS("Address")%></td>
<td><input type=checkbox name="ZAP" value="<%=RS("ID"%>"></td>
</tr>
<%
RS.MoveNext
Loop
%>
</table>
<input type=submit value="Delete checked people" name="DELETE">
</form>
</BODY></HTML>

Should have mentioned that this is all off the top of my head, utterly
untested. But it's warranted against bugs, anyway!
What happens if there no records and the user presses the button ;)
--
Anthony Jones - MVP ASP/ASP.NET
Aug 6 '08 #4

"Anthony Jones" wrote:
What happens if there no records and the user presses the button ;)
Hey, that's what the warranty is for!!
Aug 6 '08 #5
Thank you both for your help! What I was looking to do when submitting
the page is to add all the records that are checked to an array, because
I will need to pass the information to another page and then populate a
dropdown with the email addresses of all the people who were checked on
the previous page.

Cheers,

Mike
*** Sent via Developersdex http://www.developersdex.com ***
Aug 7 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Web Webon | last post: by
5 posts views Thread by Velvet | last post: by
2 posts views Thread by theseandavis | last post: by
9 posts views Thread by Learner | last post: by
2 posts views Thread by mosfet | last post: by
12 posts views Thread by mcp6453 | last post: by
reply views Thread by zhoujie | last post: by
1 post views Thread by Marylou17 | last post: by
1 post views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.