###################################################################################
#
# Embperl - Copyright (c) 1997-2005 Gerald Richter / ecos gmbh www.ecos.de
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id$
#
###################################################################################
package Embperl::Form::Control::button ;
use strict ;
use base 'Embperl::Form::Control' ;
use Embperl::Inline ;
1 ;
__EMBPERL__
[# ---------------------------------------------------------------------------
#
# show - output the control
#]
[$ sub show ($self, $data)
my $span = ($self->{width_percent}) ;
$self->{button} ||= [{}] ;
$]
[$ foreach my $button (@{$self->{button}}) $]
[# Workaround around segfault in Embperl 2.1.1-dev *grmpf* #]
<[# #]input
class="cBase cControl cControlButton" name="[+ $self->{name} +]"
value="[+ $self->{value} || $self->{text} +]"
title="[+ $self->{text} +]"
[$if $self -> {onclick} $] onClick="[+ $self -> {onclick} +]" [$endif$]
[$if $self -> {image} $]
type="image" src="[+ $self -> {image} +]"
[$else$]
type="button"
[$endif$]
style="[+ $self->{style} || 'text-align: center;' +]"
[# onMouseOver="buttonover(this);" onMouseOut="buttonout(this);" #]
[$ foreach my $attr (keys %$button) $]
[$ if exists $button->{"__$attr".'_escmode'} $]
[+ $attr +]="[+ do { local $escmode = int $button->{"__${attr}_escmode"}; $button->{$attr}; } +]"
[$ else $]
[+ $attr +]="[+ $button->{$attr} +]"
[$ endif $]
[$ endforeach $]>
[$ endforeach $]
|
[$endsub$]
__END__
=pod
=head1 NAME
Embperl::Form::Control::submit - A button inside an Embperl Form
=head1 SYNOPSIS
{
type => 'submit',
text => 'send',
name => 'foo',
value => 'xxx',
image => 'xxx',
onclick => 'window.open (...)',
button => [
{
onclick => 'do_something()',
style => 'border: 1px solid black;',
},
{
name => 'foobar',
value => 'Click here, too',
onclick => 'do_something()',
class => 'HurzCSSClass',
onmouseover => 'do(this)';
onmouseout => 'do(that)';
}
]
}
=head1 DESCRIPTION
Used to create an submit control inside an Embperl Form.
If an image is given it will create an image button.
See Embperl::Form on how to specify parameters.
=head2 PARAMETER
=head3 type
Needs to be 'button'
=head3 name
Name of the button
=head3 text
Will be used as label for the submit button or tool tip
in case of an image button
=head3 value
Gives the value to send
=head3 image
URL of an image. If given an image button will be created,
if absent, an normal submit button will be created.
=head3 onclick
Javascript that should be executed when the users clicks on the button.
=head3 button
hashref of the key-value pairs of all attribute the button needs.
=head1 Author
G. Richter (richter@dev.ecos.de), A. Beckert (beckert@ecos.de)
=head1 See Also
perl(1), Embperl, Embperl::Form