Side navigation
#13581 closed bug (notabug)
Opened March 07, 2013 10:04PM UTC
Closed March 07, 2013 11:16PM UTC
SCRIPT5007: Unable to get value of the property '_focusTabbable': object is null or undefined
Reported by: | bryn.parrott@gmail.com | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | unfiled | Version: | 1.9.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Situation:
I have an existing page consisting of a form with many elements. Made more usable by having some repeating elements appear in hide/show div elements (like subforms).
I proposed to improve functionality by using JQuery Dialog in place of show/hide divs (in fact the original divs were turned into dialogs).<br />
I found that when the form was submitted, the form input fields in the dialogs were not being submitted to the server.
I found that JQuery dialog had rewritten the dialogs to be appended to the document (outside of the <form>) and thus not submitted.
I was using Jquery UI 1.8.13 on Jquery 1.5.1
I found that Jquery UI 1.10 added the 'appendTo' option allowing specification of a page element to which the dialog code is appended, instead of the document.
I had to deploy Jquery 1.9.1 + jquery UI 1.10.1 to make that option available.
The original problem is now fixed - the dialog code is being written appended to the table inside the form, but when I try to show/hide the dialogs, I get the above error.
I am using Internet Explorer 9 on Windows 7 Pro platform to develop/test.
Some clues as to what is going on and possible solutions would be appreciated.
Thanks,
...
Attachments (0)
Change History (2)
Changed March 07, 2013 10:35PM UTC by comment:1
Changed March 07, 2013 11:16PM UTC by comment:2
resolution: | → notabug |
---|---|
status: | new → closed |
You should report jQuery UI bugs to http://bugs.jqueryui.com. However, we'll need a reduced test case showing that this problem exists in 1.10.1.
Further information:
The error is fired from within the _createOverlay function in
jQuery-UI-1.10.1.custom.js (as marked):
_createOverlay: function() {
if ( !this.options.modal ) {
return;
}
if ( !$.ui.dialog.overlayInstances ) {
Prevent use of anchors and inputs.
We use a delay in case the overlay is created from an
event that we're going to be cancelling. (#2804)
this._delay(function() {
Handle .dialog().dialog("close") (#4065)
if ( $.ui.dialog.overlayInstances ) {
this.document.bind( "focusin.dialog", function( event ) {
if ( !$( event.target ).closest(".ui-dialog").length &&
TODO: Remove hack when datepicker implements
the .ui-front logic (#8989)
!$( event.target ).closest(".ui-datepicker").length ) {
event.preventDefault();
$(".ui-dialog:visible:last .ui-dialog-content")
/*>>HERE>>*/ .data("ui-dialog")._focusTabbable();
}
});
}
});
}
this.overlay = $("<div>")
.addClass("ui-widget-overlay ui-front")
.appendTo( this._appendTo() );
this._on( this.overlay, {
mousedown: "_keepFocus"
});
$.ui.dialog.overlayInstances++;
},