button_tag nicht als input_tag implementieren
authorSven Schöling <s.schoeling@linet-services.de>
Mon, 17 Oct 2011 08:23:44 +0000 (10:23 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Mon, 17 Oct 2011 08:23:44 +0000 (10:23 +0200)
Hintergrund: button tags brauchen im standard kein id oder name Attribut, input
tags aber schon. Die input_tag Implementierung forciert korrekterweise id und
name, so dass die leer sind, wenn ein button_tag ohne geschrieben wird.

SL/Template/Plugin/L.pm

index eff4548..320c75e 100644 (file)
@@ -196,7 +196,10 @@ sub button_tag {
   my ($self, $onclick, $value, @slurp) = @_;
   my %attributes = _hashify(@slurp);
 
-  return $self->input_tag(undef, $value, %attributes, type => 'button', onclick => $onclick);
+  $attributes{id}   ||= $self->name_to_id($attributes{name}) if $attributes{name};
+  $attributes{type} ||= 'button';
+
+  return $self->html_tag('input', undef, %attributes, value => $value, onclick => $onclick);
 }
 
 sub options_for_select {