summaryrefslogtreecommitdiff
path: root/httemplate/elements/input-text.html
blob: fb50a5070a6eae0611974f459db8db206d572175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<% $opt{'prefix'} %><INPUT TYPE  = "<% $opt{type} || 'text' %>"
                           NAME  = "<% $opt{field} %>"
                           ID    = "<% $opt{id} %>"
                           VALUE = "<% $value |h %>"
                           <% $size %>
                           <% $maxlength %>
                           <% $style %>
                           <% $opt{disabled} %>
                           <% $onchange %>
                    ><% $opt{'postfix'} %>
<%init>

my %opt = @_;

my $value = length($opt{curr_value}) ? $opt{curr_value} : $opt{value};

my $onchange = $opt{'onchange'}
                 ? 'onChange="'. $opt{'onchange'}. '(this)"'
                 : '';

my $size = $opt{'size'}
             ? 'SIZE="'. $opt{'size'}. '"'
             : '';

my $maxlength = $opt{'maxlength'}
                ? 'MAXLENGTH="'. $opt{'maxlength'}. '"'
                : '';

$opt{'disabled'} = &{ $opt{'disabled'} }( \%opt )
  if ref($opt{'disabled'}) eq 'CODE';
$opt{'disabled'} = 'DISABLED'
  if $opt{'disabled'} && $opt{'disabled'} !~ /disabled/i; # uuh... yeah?

my @style = ref($opt{'style'})
              ? @{ $opt{'style'} }
              : $opt{'style'}
                ? ( $opt{'style'} )
                : ();

push @style, 'text-align: '. $opt{'text-align'}
  if $opt{'text-align'};

push @style, 'background-color: #dddddd'
  if $opt{'disabled'} && ! $opt{'nodarken_disabled'};

my $style = scalar(@style) ? 'STYLE="'. join(';', @style). '"' : '';

</%init>