Actually, it looks like both textarea cases cause the dialog to fail. I had
transposed my link hrefs so didn't realize it at first. I posted a slightly
tweaked test case at:
http://actionroofing.org/jeoff/sand/jquery/testdlg.html
The error occurs trying to set "minHeight" to a negative
number (at jquery-1.3.js line 1050). I traced through the call stack and it
is happening on .dialog("open") during a call to the ._size() method (line
454 of jquery.dialog.js in 1.6rc5).
452 this.element
453 .css({
*454 minHeight: options.minHeight - nonContentHeight,
*455 height: options.height == 'auto'
456 ? 'auto'
457 : options.height - nonContentHeight
458 });
At that point nonContentHeight is 151 or 217 (depending on the test case)
and options.minHeight is defaulted to 150, so it tries to set the minHeight
to -1 or -67 respectively. The nonContentHeight is calculated as the actual
height of the content, and that is probably made taller by themeroller since
it increases the height of the class .ui-widget-header.
Sure enough, if initialize the dialog with minHeight:400 it opens right up!
So it seems an IE workaround is needed here: the dialog _size() function
should not try to set the minHeight to a negative number.
On Tue, Jan 20, 2009 at 6:15 PM, Jeoff Wilks <[email protected]> wrote:
> I'm seeing an error when I try to create a dialog that has a textarea with
> rows="5". It sounds like it might be similar to the error described in:
> http://groups.google.com/group/jquery-ui/browse_thread/thread/338490ec08f857c2
>
> However, the resolution there was to upgrade to 1.6 and I'm already using
> 1.6rc5.
>
> Any ideas?
>
> -------------------------------
> Test Case follows:
> -------------------------------
>
> <html>
> <head>
> <script src="jquery-1.3.js"></script>
> <script src="ui/jquery.ui.all.js"></script>
> <link rel="stylesheet"
> href="jquery-ui-themeroller-cupertino/ui.all.css"></link>
> <script>
> $(document).ready(function(){
> $("div").dialog({autoOpen:false});
> $("a").click(function(){
> var id = $(this).attr("href"); $(id).dialog("open");
> });
> });
> </script>
> </head>
> <body>
>
> <p>dialog() with themeroller and certain form fields causes an error in
> IE6. Test cases (click to open): <ul>
> <li><a href="#d2">2. textarea</a>
> <li><a href="#d3">2. textarea with rows set to 5 (broken)</a>
> </ul></p>
>
> <div id="d1">
> <form>
> <label>Field:</label>
> <textarea>test field</textarea>
> </form>
> </div>
>
> <div id="d2">
> <form>
> <label>Field:</label>
> <textarea rows="5">test field</textarea>
> </form>
> </div>
>
> </body>
> </html>
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery UI" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/jquery-ui?hl=en
-~----------~----~----~----~------~----~------~--~---