Fixing textarea so it displays correctly in Internet Explorer (confirmed display bug in versions 6, 7, & 8 of IE)
So I took a look this morning.. Tackling making this page tableless is a quite a bit of work. (More than I want to do right now..
) So here's the down and dirty solution (this solution works in my testing.. your mileage may vary..):
First we have to move the checkboxes to their own row. Apparently IE renders textarea elements incorrectly if there are elements to the right of the textarea element (in this case it's the checkboxes). In admin/super_batch_status.php find this:
Code:
<tr>
<td class="smallText" valign="top"><?php echo HEADING_ADD_COMMENTS; ?></td>
<td class="smallText"><?php echo zen_draw_textarea_field('comments', 'soft', '50', '4'); ?></td>
<td class="smallText" valign="center"><?php
echo zen_draw_checkbox_field('notify', 'on', false); echo ' ' . ENTRY_NOTIFY_CUSTOMER . '<br>';
echo zen_draw_checkbox_field('notify_comments', 'on', true); echo ' ' . ENTRY_NOTIFY_COMMENTS; ?><br /><br />
<input type="submit" value="<?php echo BUTTON_UPDATE_STATUS; ?>">
</td>
</tr>
Replace with this:
Code:
<tr>
<td class="smallText" valign="top"><?php echo HEADING_ADD_COMMENTS; ?></td>
<td class="smallText" colspan="2"><?php echo zen_draw_textarea_field('comments', 'soft', '50', '4'); ?></td>
</tr>
<tr>
<td class="smallText" valign="top"><?php echo HEADING_NOTIFICATION; ?></td>
<td class="smallText" colspan="2"><?php
echo zen_draw_checkbox_field('notify', 'on', false); echo ' ' . ENTRY_NOTIFY_CUSTOMER . '<br>';
echo zen_draw_checkbox_field('notify_comments', 'on', true); echo ' ' . ENTRY_NOTIFY_COMMENTS; ?><br /><br />
<input type="submit" value="<?php echo BUTTON_UPDATE_STATUS; ?>">
</td>
</tr>
Now we need add a new label for the checkboxes. Go to admin/includes/languages/english/super_batch_status.php under line 40 add this:
Code:
define('HEADING_NOTIFICATION', 'Notification:');
Optionally you could make one small adjustment in your admin stylesheet (admin/includes/stylesheet.css) as follows:
Change this
Code:
textarea {
width: 80%;
}
To this:
Code:
textarea {
width: 95%;
}

Originally Posted by
DivaVocals
So apparently this has been a long standing issue going back as far as November 2006 from what I can see.. I can't simply tell my clients to "use Firefox" as a solution.. Most won't, and I knew there had to be a REAL solution.. Searching through this support thread I got a hint of what the root cause of the issue might be. (
http://www.zen-cart.com/forum/showpo...&postcount=289)
Turns out that it's related to an IE bug and how it interprets the display width for textarea elements. Apparently this bug affects IE 6 & 7, but I can report that IE 8 is also affected by this bug. (whether you view the page in IE 8's very lame compatibility view or not)
I have a down and dirty fix for this which I will share the specifics on with the community when I get home and make the changes..
To summarize: The down and dirty the fix requires that both the super_batch_status.php file need to be modified so that the notification checkboxes appear below and not to the right of the comments field. My research indicates that if you wanted to retain the current layout for the notification checkboxes, then you would need to use containers with a width set to 100%. A quick look at the super_batch_status.php file tells me that this would probably require a re-write to this page to format things correctly (ie: going tableless). I'm gonna pass on this and go for the quick and dirty fix since it effectively resolves the immediate issue. Wanted to share my find with the forum.
Given the age of this issue.. I figured I wasn't the only one looking for the answer..

Bookmarks