![]() |
| HTML | PHP Scripts | Webmaster Tools | Webmaster Forums | Web Hosting | Domain Names | Webmaster Books |
|
|
#1 |
|
New Member
Join Date: Jul 2009
Webmaster Discussions: 1
Rep Power: 7 ![]() |
Remembering multiple selections
Hi there,
I have a very simple problem that I'm struggling with... I am trying to use hidden fields to remember user choices from a select list. I must not be getting something, because my code prints the 2nd to last choice the user made, whereas I want to print ALL choices the user has made: #!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); print header; print start_html("colors"); print "<form action='colors.pl' method='POST'>"; print "<select name='color'>"; print "<option value='red'> Red"; print "<option value='green'> Green"; print "<option value='blue'> Blue"; print "<option value='gold'> Gold"; print "</select>"; @color = param('color'); foreach $color (@color) {print "<input type='hidden' name='hiddencolor' value='$color'>";} print "<input type='submit'>"; print "</form>"; @hiddencolors = param('hiddencolor'); print "@hiddencolors"; print end_html; |
|
|
|
|
|
#2 |
|
Join Date: Aug 2008
Location: Texas
Webmaster Discussions: 501
Rep Power: 21 ![]() ![]() ![]() ![]() |
Re: Remembering multiple selections
The problem is that you end up with several hidden fields with the same name (see below)
Code:
<input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> <input type='hidden' name='hiddencolor' value='$color'> To resolve your issue, there are a couple options available. First, create and array of values. You can do this by adding brackets to the end of the name: Code:
<input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> <input type='hidden' name='hiddencolor[]' value='$color'> Code:
$x=1;
@color = param('color');
foreach $color (@color) {
print "<input type='hidden' name='hiddencolor$x' value='$color'>";
$x++;
}
__________________
Be sure to click the reputation icon to give rep to the person who helped you. For web design/development services, check Silentium Designs. |
|
|
|
![]() |
| Bookmarks |
| Tags |
| hidden fields |
| Thread Tools | |
| Rate This Thread | |
|
|
Similar Webmaster Discussions
|
||||
| Thread | Webmaster Discussion Starter | Forum | Replies | Last Post |
| Multiple Categories | rab7676 | Link Exchange | 0 | 10-03-2007 09:14 AM |
| Disable/Enable form features based on form selections | scanreg | Javascript Forum | 4 | 04-18-2007 08:23 AM |
| set multiple cookie | slyen | CGI Perl Forum | 0 | 03-22-2007 05:11 PM |
| Mouseover with multiple changes | tgr1227 | Javascript Forum | 3 | 11-29-2006 10:56 AM |
| Making Radiobox selections forward to specific URLs | lacey | Javascript Forum | 1 | 07-29-2005 07:28 AM |