Opened 11 years ago

Closed 11 years ago

Last modified 8 years ago

#7979 closed defect (fixed)

Regression: dijit.form.DateTimeTextBox does not work in iframe under FF2 and FF3

Reported by: gui92 Owned by: bill
Priority: high Milestone: 1.2.2
Component: Dijit - Form Version: 1.2.0
Keywords: FF2 FF3 iframe dijit form DateTimeTextBox Cc:
Blocked By: Blocking:

Description

When you access a page including a DateTimeTextBox? widget through an iframe under FF2 or FF3, the onclick event is never fired.

Adding an "<a href=""></a>" tag around or in the .dijitCalendarDayLabel span in dijit._Calendar.js template seem to solve this.

You can find in attachment a simple html page including an iframe to nightly theme tester in order to reproduce this.

Attachments (2)

test.html (236 bytes) - added by gui92 11 years ago.
test_DateTextBox_iframe.html (135 bytes) - added by haysmark 11 years ago.
Loads test_DateTextBox into an iframe

Download all attachments as: .zip

Change History (12)

Changed 11 years ago by gui92

Attachment: test.html added

comment:1 Changed 11 years ago by bill

The title of this ticket says "DateTimeTextBox" but is the actual problem w/DateTextBox?

comment:2 Changed 11 years ago by Douglas Hays

Milestone: tbd1.3
Owner: set to haysmark

Mark, please investigate.

comment:3 Changed 11 years ago by haysmark

This is a regression from 1.1 to 1.2.

comment:4 Changed 11 years ago by Douglas Hays

Milestone: 1.31.2.2

comment:5 Changed 11 years ago by haysmark

Cc: bill added

If I use 1.1 focus.js, everything works again.

Changed 11 years ago by haysmark

Loads test_DateTextBox into an iframe

comment:6 Changed 11 years ago by haysmark

Priority: normalhigh
Summary: dijit.form.DateTimeTextBox : does not work in iframe under FF2 and FF3Regression: dijit.form.DateTimeTextBox does not work in iframe under FF2 and FF3

Regression traced to [15197]. See #6519.

comment:7 Changed 11 years ago by haysmark

Cc: bill removed
Owner: changed from haysmark to bill

comment:8 Changed 11 years ago by bill

Resolution: fixed
Status: newclosed

Fixed in [15692]: Fix for DateTextBox? inside of iframe. Fixes #7979.

Actually this is cleanup from [15197] (refs #6519); forgot to change a reference from <body> to the document." /workspace/1.2/dijit/_base/focus.js /workspace/trunk/dijit/_base/focus.js

comment:9 Changed 11 years ago by bill

(In [16554]) [15197] and [15692] had problems. They didn't differentiate between clicks/focus on an Editor's iframe's document, and on the "main" document where dojo is loaded, if the main document itself was an iframe.

Adding explicit code to register that click/focus on the the Editor's iframe's document are to be reported as click/focus on the Editor's <iframe> node.

BTW this fix also masks differences between browsers as to where the focus event is reported:

  • FF: the event was reported on the document, but mysteriously the Editor's iframe's document and the main window's document are the same,or at least they appear to be the same in a console.log().
  • IE: the <iframe> node
  • Safari: the iframe's <body> node

Refs #6519, #7979, fixes #8577. !strict

comment:10 Changed 8 years ago by bill

Component: DijitDijit - Form
Note: See TracTickets for help on using tickets.