Skip to main content

Bug Tracker

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 bryn.parrott@gmail.com comment: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++;

},

Changed March 07, 2013 11:16PM UTC by scottgonzalez comment:2

resolution: → notabug
status: newclosed

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.