7 Replies Latest reply: Sep 11, 2013 8:00 AM by vincent_deelen RSS

    "Type mismatch" error in IE7/8 when using custom Actions Menu Image

    TobiasE
      Hi all,

      in APEX 4.2: when using a custom image in the "Actions Menu Image" attribute in an interactive report, I get a "Type mismatch" error in IE7/8 when refreshing the report through PPR (filtering, sorting, paginating etc.). When I leave the "Actions Menu Image" field empty, everything works fine. The error doesn't seem to happen in IE9 (unless using compatibility mode), or in any non-IE browser.

      I've been able to reproduce the issue in an application on apex.oracle.com:

      http://apex.oracle.com/pls/apex/f?p=69347:1

      Some debugging seems to indicate that the following line in widget.interactiveReport.js is the culprit:
      lTemp.parentNode.replaceChild($x('apexir_WORKSHEET'), lTemp);
      Does anybody know if this is a known issue, or if there is some workaround?

      Thanks,
      Tobias
        • 1. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
          670951
          I have also struck a similar problem:

          the line is: i.parentNode.replaceChild($x("apexir_WORKSHEET"),i),

          in widget.interactiveReport.min.js?v=4.2.1.00.08. It says it is a Type mismatch.

          This only happens when I click the Search button in an IR, after having selected one of my search criteria fields, when in IE9 compatibility mode.
          • 2. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
            670951
            So now I have removed my custom "cog" jpg and it works now, but looks naff!
            • 3. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
              Splendid Alex
              I'm having exactly the same problem in IE 7/8/9 (our template always renders in quirks mode). This was introduced when we moved from Apex 4.1 to 4.2.1. Other browsers seem to be unaffected. Our application has compatibility mode set to "Pre 4.1" if that makes any difference?

              I tried forcing the page to render in standards mode by adding "<!DOCTYPE html>" to the top of the page template (as described here: http://msdn.microsoft.com/en-us/library/gg699338%28v=vs.85%29.aspx and in various threads on this forum) but this messes up various pieces of layout, which are going to take an age to fix.

              Definitely fixed by not using an image for the Actions button, even when IE is in quirks mode. However we have years of user training now that tells them to always go for the "green cog" and would therefore prefer to keep the green cog! :)

              If anyone finds a workaround for this so that I can
              a) retain the image for the action button
              and
              b) not have to force standards mode in my template
              then I would much appreciate it.

              Thanks,

              Alex.
              • 4. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
                paulj
                We are experiencing the same issue in IE 8/9 with
                Browser Mode: IE9 Compant
                Document Mode: IE8

                Is there any solution/workaround available for the problem?
                Because even though the green cog is ugly our users got used to it over the years...

                Thanks,
                Paul
                • 5. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
                  paulj
                  I created a demo application on apex.oracle.com to show the issue:

                  http://apex.oracle.com/pls/apex/f?p=76153:1

                  Paul
                  • 6. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
                    paulj
                    We found a possible workaround:

                    +) Remove the custom image from the report attributes

                    +) Adding the following style to the page template (or a custom.css):

                    <style type="text/css">
                    div.apexir_ACTION_MENU div.dhtmlMenuLGButton button.dhtmlMenu {
                    background: url("/c/action_dropdown.gif") no-repeat scroll 0 0 transparent;
                    width:40px !important;
                    height:30px !important;
                    border:none;
                    cursor: pointer;
                    }
                    </style>

                    +) Two Dynamic Actions (for the events "Page Load" and "After Refresh") on the Page (or on Page 0) to remove the "Actions"-span:

                    $('div.apexir_ACTION_MENU > div.dhtmlMenuLGButton > button.dhtmlMenu > span').remove();


                    BR Paul
                    • 7. Re: "Type mismatch" error in IE7/8 when using custom Actions Menu Image
                      vincent_deelen

                      Hi,

                      Great solution Paul! It cost me a while before I found out the Action Menu Image was causing my interactive reports to stop refreshing in IE10 and not other browsers. Your solution works great, I've implemented it with a few minor adjustments:

                       

                      - Put the css in report template (for some reason it didn't work in our own application stylesheet)

                      - replace  'url("/c/action_dropdown.gif")' with 'url("&APP_IMAGE_PREFIX./<path_to_image>")'


                      - place one dynamic action on page 0: after refresh of '#apexir_DATA_PANEL' , set event scope to "Dynamic".

                      - Let the Dynamic action also fire on page load.

                      - To make sure the dynamic action only works for pages with an interactive report add condition of type 'Exists' with expression:


                      select 1

                      from   dual

                      where  :APP_PAGE_ID in (select page_id

                                                              from   apex_application_page_ir

                                                              where  application_id = :APP_ID

                                                             )

                       

                      Best regards,

                      Vincent Deelen