ICEfaces
  1. ICEfaces
  2. ICE-8360

ice:panelPopup Focus Issues in IE8/7

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-2.0.0.GA, EE-3.0.0.GA
    • Fix Version/s: EE-3.0.0.GA_P01, 3.2
    • Component/s: Bridge, ICE-Components
    • Labels:
      None
    • Environment:
      Internet Explorer 7/8
    • Workaround Exists:
      Yes
    • Workaround Description:
      if you disable modality of the component it will behave as expected

      Description

      Having a modal panelPopup and either singleSubmit or partialSubmit enabled leads to the lost focus when switching between input fields via tabulator key in IE8 and IE7.

      To reproduce use source code attached, then:

      1. Open ice:panelPopup in IE8 or 7
      2. Select the first input field inside of the panel
      3. Press tab-key

      Outcome:
      --> focus is set on next field - and immedately lost - NO element seems to have focus and user has to click inside a field again.
      Happens only the first time - after that works fine.

      Notes:
      Originally this bug was reported for ICEfaces 2.0 EE G.A release, but I was also able to reproduce it with ICEfaces 3.0 EE G.A library.

        Activity

        Hide
        Mircea Toma added a comment -

        The issue described here is caused by different parts in our bridge and component code that behave differently when using IE:

        a) Single submit enforced by the icecore:singlesubmit tag is triggered by 'focusout' events in IE while tabbing. This causes submit being trigerred in IE while in the other browsers the 'blur' events are used but ignored.

        b) When the single submit is sent the current focus is set to null which causes DOM update for the script element responsible with the modal popup initialization.

        c) The modal popup initialization code (Ice.modal.start() function) toggles the popup's visibility to to hidden and then to visible which causes the focus to get lost in IE.

        Show
        Mircea Toma added a comment - The issue described here is caused by different parts in our bridge and component code that behave differently when using IE: a) Single submit enforced by the icecore:singlesubmit tag is triggered by 'focusout' events in IE while tabbing. This causes submit being trigerred in IE while in the other browsers the 'blur' events are used but ignored. b) When the single submit is sent the current focus is set to null which causes DOM update for the script element responsible with the modal popup initialization. c) The modal popup initialization code (Ice.modal.start() function) toggles the popup's visibility to to hidden and then to visible which causes the focus to get lost in IE.
        Hide
        Mircea Toma added a comment -

        Modified Ice.modal.start to stop toggling the visibility of the modal popup to avoid loosing focus in the any of the included elements.

        Show
        Mircea Toma added a comment - Modified Ice.modal.start to stop toggling the visibility of the modal popup to avoid loosing focus in the any of the included elements.
        Hide
        Ken Fyten added a comment -

        Needs to be committed to the icefaces-3.0.x-maintenance branch also.

        Show
        Ken Fyten added a comment - Needs to be committed to the icefaces-3.0.x-maintenance branch also.
        Hide
        Mircea Toma added a comment -

        Applied fix to maintenance branch.

        Show
        Mircea Toma added a comment - Applied fix to maintenance branch.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Evgheni Sadovoi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: