cvsuser 02/04/18 09:43:56
Modified: P5EEx/Blue/P5EEx/Blue/Widget/HTML Select.pm
Log:
added proper support for multivalued select lists
Revision Changes Path
1.2 +7 -5 p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/Select.pm
Index: Select.pm
===================================================================
RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/Select.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- Select.pm 5 Feb 2002 22:16:05 -0000 1.1
+++ Select.pm 18 Apr 2002 16:43:56 -0000 1.2
@@ -1,10 +1,10 @@
######################################################################
-## $Id: Select.pm,v 1.1 2002/02/05 22:16:05 spadkins Exp $
+## $Id: Select.pm,v 1.2 2002/04/18 16:43:56 spadkins Exp $
######################################################################
package P5EEx::Blue::Widget::HTML::Select;
-$VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use P5EEx::Blue::Widget::HTML::Stylizable;
@ISA = ( "P5EEx::Blue::Widget::HTML::Stylizable" );
@@ -62,7 +62,8 @@
sub unstyled_html {
my $self = shift;
- my ($wc, $name, @currvalues, $values, @values, $labels, $nullable, $size,
$multiple, $tabindex);
+ my ($wc, $name, @currvalues, $values, @values, $labels);
+ my ($tagname, $nullable, $size, $multiple, $tabindex);
$wc = $self->{context};
$name = $self->{name};
@@ -79,8 +80,9 @@
}
$size = (defined $size && $size ne "") ? " size='$size'" : "";
- $multiple = (defined $multiple && $multiple ne "") ? " multiple" : "";
$tabindex = (defined $tabindex && $tabindex ne "") ? " tabindex='$tabindex'" :
"";
+ $multiple = $multiple ? " multiple" : "";
+ $tagname = $multiple ? "$name\[]" : $name;
my ($value, $v, %value_exists, $value_exists, @html);
@currvalues = $self->get_values();
@@ -98,7 +100,7 @@
"</option>\n");
}
- return "<select name='$name'${size}${multiple}${tabindex}>\n" . join("",@html)
. "</select>";
+ return "<select name='$tagname'${size}${multiple}${tabindex}>\n" .
join("",@html) . "</select>";
}
1;