Bug Tracker

Opened 7 years ago

Closed 7 years ago

#13581 closed bug (notabug)

SCRIPT5007: Unable to get value of the property '_focusTabbable': object is null or undefined

Reported by: bryn.parrott@… 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, ...

Change History (2)

comment:1 Changed 7 years ago by bryn.parrott@…

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++; },

comment:2 Changed 7 years ago by scottgonzalez

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.

Note: See TracTickets for help on using tickets.