Fixed a bug where the textarea based formplugins would put multiple style tags in head if invoked mor than once per
request. One case in which this happens is when you provide multiple form controls for the same form param through a template, like in eg. the post form of the cs. Anyway thes multiple tags confuse IE somehow borking javascript execution in the process.
This commit is contained in:
parent
f8b8f9da37
commit
4c4fb8f3a2
2 changed files with 13 additions and 5 deletions
|
|
@ -14,6 +14,9 @@
|
|||
- fixed #10706: FriendManager Style/Layout template options
|
||||
- fixed #10707: i18n Account_FriendManager::manageUrl
|
||||
- fixed #9962: gallery thumbnail view: JS problem in IE7
|
||||
- fixed a bug where the textarea (based) form plugins would put multiple
|
||||
identical style tags in head in some cases, which caused javascript errors
|
||||
in IE. ( Martin Kamerbeek / Oqapi )
|
||||
|
||||
7.7.16
|
||||
- fixed #10590: Session::DateTime->secondsToInterval doesn't allow 7 weeks
|
||||
|
|
|
|||
|
|
@ -142,9 +142,7 @@ sub toHtml {
|
|||
my $value = $self->fixMacros($self->fixTags($self->fixSpecialCharacters(scalar $self->getOriginalValue)));
|
||||
my $width = $self->get('width') || 400;
|
||||
my $height = $self->get('height') || 150;
|
||||
my ($style, $url) = $self->session->quick(qw(style url));
|
||||
my $styleAttribute = "width: ".$width."px; height: ".$height."px; ".$self->get("style");
|
||||
$style->setRawHeadTags(qq|<style type="text/css">\ntextarea#|.$self->get('id').qq|{ $styleAttribute }\n</style>|);
|
||||
my ($style, $url, $stow) = $self->session->quick(qw(style url stow));
|
||||
my $out = '<textarea id="'.$self->get('id').'" name="'.$self->get("name").'" '
|
||||
. ( $self->get("maxlength") ? 'maxlength="' . $self->get( "maxlength" ) . '" ' : '' )
|
||||
. $self->get("extras") . ' rows="#" cols="#" style="width: '.$width.'px; height: '.$height.'px;">'.$value.'</textarea>'
|
||||
|
|
@ -160,14 +158,21 @@ sub toHtml {
|
|||
{ type => 'text/javascript' },
|
||||
);
|
||||
|
||||
unless ( $self->session->stow->get( 'texareaHeadTagsLoaded' ) ) {
|
||||
# Make sure we load the css for this plugin only once per id.
|
||||
unless ( $stow->get( 'textareaStyleLoaded_' . $self->get('id') ) ) {
|
||||
my $styleAttribute = "width: ".$width."px; height: ".$height."px; ".$self->get("style");
|
||||
$style->setRawHeadTags(qq|<style type="text/css">\ntextarea#|.$self->get('id').qq|{ $styleAttribute }\n</style>|);
|
||||
$stow->set( 'textareaStyleLoaded_' . $self->get('id'), 1 );
|
||||
}
|
||||
# Make sure we add the max length js only once for all texatareas.
|
||||
unless ( $stow->get( 'texareaHeadTagsLoaded' ) ) {
|
||||
$style->setRawHeadTags( q|
|
||||
<script type="text/javascript">
|
||||
YAHOO.util.Event.onDOMReady( function () { WebGUI.Form.Textarea.setMaxLength() } );
|
||||
</script>
|
||||
| );
|
||||
|
||||
$self->session->stow->set( 'texareaHeadTagsLoaded', 1 )
|
||||
$stow->set( 'texareaHeadTagsLoaded', 1 );
|
||||
}
|
||||
|
||||
if ($self->get("resizable")) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue