ASP 101 - Active Server Pages 101 - Web06
The Place ASP Developers Go!

Please visit our partners


Windows Technology Windows Technology
15 Seconds
4GuysFromRolla.com
ASP 101
ASP Wire
VB Forums
VB Wire
WinDrivers.com
internet.commerce internet.commerce
Partners & Affiliates














ASP 101 is an
internet.com site
ASP 101 is an internet.com site
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

ASP 101 News Flash ASP 101 News Flash





ASP Source Code:
<%
Dim intNumberSelected  ' Count of items selected
Dim strSelectedTeams   ' String returned from QS (or Form)
Dim arrSelectedTeams   ' Variable to hold team array
Dim I                  ' Looping variable
' Retrieve the count of items selected
intNumberSelected = Request.Form("teams").Count
If intNumberSelected = 0 Then
	%>
	Pick your favorite teams (hold down CTRL to select more than one):<BR>
	<FORM ACTION="multiple_selection.asp" METHOD="post">
		<!--
		The MULTIPLE parameter allows users to select multiple items
		from the pulldown box.  The size attribute specifies how many
		items tall to make the selection box.
		-->
		<SELECT NAME="teams" MULTIPLE SIZE="10">
			<OPTION>Anaheim Angels</OPTION>
			<OPTION>Atlanta Braves</OPTION>
			<OPTION>Arizona Diamondbacks</OPTION>
			<OPTION>Baltimore Orioles</OPTION>
			<OPTION>Boston Red Sox</OPTION>
			<OPTION>Chicago Cubs</OPTION>
			<OPTION>Chicago White Sox</OPTION>
			<OPTION>Cincinnati Reds</OPTION>
			<OPTION>Cleveland Indians</OPTION>
			<OPTION>Colorado Rockies</OPTION>
			<OPTION>Detroit Tigers</OPTION>
			<OPTION>Florida Marlins</OPTION>
			<OPTION>Houston Astros</OPTION>
			<OPTION>Kansas City Royals</OPTION>
			<OPTION>Los Angeles Dodgers</OPTION>
			<OPTION>Milwaukee Brewers</OPTION>
			<OPTION>Minnesota Twins</OPTION>
			<OPTION>Montreal Expos</OPTION>
			<OPTION>New York Mets</OPTION>
			<OPTION>New York Yankees</OPTION>
			<OPTION>Oakland Athletics</OPTION>
			<OPTION>Philadelphia Phillies</OPTION>
			<OPTION>Pittsburgh Pirates</OPTION>
			<OPTION>San Diego Padres</OPTION>
			<OPTION>San Francisco Giants</OPTION>
			<OPTION>Seattle Mariners</OPTION>
			<OPTION>St. Louis Cardinals</OPTION>
			<OPTION>Tampa Bay Devil Rays</OPTION>
			<OPTION>Texas Rangers</OPTION>
			<OPTION>Toronto Blue Jays</OPTION>
		</SELECT>
		<BR>
		<INPUT type="submit" value="Send Team Selection">
	</FORM>
	<%
Else
	' Retrieve the comma delimited list of teams that is returned
	' from the Form collection.  This could also be gotten from
	' the QueryString collection, but I used the post method
	' instead of get in my form.
	strSelectedTeams = Request.Form("teams")
	' Split our text variable into an array so we have easy
	' programmatic access to the individual elements.  Rememeber
	' the array will start at 0 not 1 so a 10 item array will
	' run from 0 to 9 and not 1 to 10!
	' Split takes a string and then searches for a delimiter
	' (in this case the comma followed by a space) in that string.
	' It returns an array of strings which consists of all the
	' text except the delimiters cut up into nice little pieces
	' at the delimiters.  The last two parameters specify the
	' maximum number of delimiters to find (-1 = all) and the last
	' one is what type of comparison to perform
	' (0 = binary comparison, 1 = text comparison)
	arrSelectedTeams = Split(strSelectedTeams, ", ", -1, 1)
	' UPDATE NOTE:
	' One of our ever-vigilant visitors pointed out to me that this
	' will cause problems if any of your choices contain a comma.
	' While he's right, I'm leaving the code as is, because I feel
	' exposing users to the split command and some array work is a
	' good thing, but if you need to use commas try something like
	' this:
	'
	'ReDim arrSelectedTeams(intNumberSelected - 1)
	'
	'For I = 1 To intNumberSelected
	'	arrSelectedTeams(I - 1) = Request.Form("teams")(I)
	'Next 'I
	'
	' We now join our regularly scheduled program already in progress...
	' Show users the count of and string containing their choices
	%>
	<P>You selected <B><%= intNumberSelected %></B> team(s).</P>
	<P>Request.Form("teams") returned:</P>
	<P><FONT SIZE="-1"><B><%= strSelectedTeams %></B></FONT></P>
	<P>You can easily convert this to an array using the split command.  The contents of that array are shown in the table below:</P>
	<TABLE BORDER="1">
		<TR>
			<TH>Array Element <FONT COLOR="#FF0000">*</FONT></TH>
			<TH>Value</TH>
		</TR>
		<%
		' Some debugging lines if you start having problems
		'Response.Write LBound(arrSelectedTeams)
		'Response.Write UBound(arrSelectedTeams)
		' Loop through the array showing one table row for each selection
		For I = LBound(arrSelectedTeams) To UBound(arrSelectedTeams)
			%>
			<TR>
				<TD><%= I %></TD>
				<TD><%= arrSelectedTeams(I) %></TD>
			</TR>
			<%
		Next 'I
		%>
	</TABLE>
	<P><FONT COLOR="#FF0000">*</FONT> Remember that VBScript arrays start counting from 0.  So a 10 item array will run from 0 to 9!</P>
	<%
	' Some code showing fully qualified requests.  Might be fun to
	' play with or possible useful for debugging.
	'Dim Item
	'For Each Item in Request.Form
	'	Response.Write Request.Form.Key(Item) & ": "
	'	Response.Write Request.Form.Item(Item) & " "
	'	Response.Write Request.Form.Item(Item).Count & "<BR>"
	'Next
End If
%>

Back the the Sample Output

Back to the Sample Index


Home |  News |  Samples |  Articles |  Lessons |  Resources |  Forum |  Links |  Search |  Feedback

Internet.com
The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers