10 Replies Latest reply: May 7, 2013 1:59 AM by udaykiran pulipati RSS

    RichFaces - JavaScript error in IE8

    nraf Newbie

      I am getting a strange error in IE8 when trying to reRender an element inside of a a4j:repeat using ajaxKeys. When I try to render an output panel I'm getting the following message:

       

      Unknown runtime error  3_3_3.Finalorg.ajax4jsf.javascript.AjaxScript, line 120 character 1

       

      I put in a breakpoint using Developer Tools and found that it's giving an error at:

      oldnode.outerHTML=new XMLSerializer().serializeToString(newnode);

       

      I've looked at the source and the following is the code segment being run.

      var anchor = oldnode.parentNode;
         if(!window.opera && !A4J.AJAX.isWebkitBreakingAmps() && oldnode.outerHTML && !oldnode.tagName.match( /(tbody|thead|tfoot|tr|th|td)/i ) ){
                   LOG.debug("Replace content of node by outerHTML()");
                   if (!Sarissa._SARISSA_IS_IE || oldnode.tagName.toLowerCase()!="table") {
                    try {
                     oldnode.innerHTML = "";
                    } catch(e){    
                     LOG.error("Error to clear node content by innerHTML "+e.message);
            Sarissa.clearChildNodes(oldnode);
                    }
                   }
                   oldnode.outerHTML = new XMLSerializer().serializeToString(newnode);
         }
      

       

      The element is a span (defined as a4j:outputPanel) so both if statements are executed. It's getting past the try block successfully but is crashing at the final node.

       

      The outputPanel is nested in a a4j:repeat (so there are many of these panels) and I'm using a js:Function and ajaxKeys to perform an update and reRender a specific. This is working fine in FF and Chrome but in IE8 (haven't tested other versions), the entire panel is disappearing.

       

      Any ideas why this is occuring?