0 Replies Latest reply on May 10, 2007 9:21 AM by Deyan Atanasov

    Out of memory Error in IE 6

    Deyan Atanasov Newbie

      Hi, I have the following problem in IE 6. I'm using a4j:support in a t:inputText field, i want to send an ajax request to the server when the user changes the value in the field and rerender it with a new css based on an EL expression. My problem is that when changed a field for a second time or another field i get Out of memory error in IE 6 and IE 7. In Firefox 2.0.3 there is no such problem. I use the latest nightly build of ajax4jsf. Here is a sample from the page:

      <td><t:inputText id="documentType"
       value="#{cert.documentType}"
       styleClass="#{(cert.available) ? ((cert.changed) ? 'redText' : '' ): 'strikeText'}">
       <a4j:support event="onchange" ajaxSingle="true" reRender="documentType" actionListener="#{controlResultsController.updateValue}">
       <a4j:actionparam name="rowIndex"
       value="#{ecs:countRows(goodsItemIE518.producedDocCerts,cert)}"></a4j:actionparam>
       <a4j:actionparam name="changeTable" value="producedDocCerts"></a4j:actionparam>
       </a4j:support>
       </t:inputText></td>
      

      and the server side code:
      public void updateValue(ActionEvent evt) {
       FacesContext context = FacesContext.getCurrentInstance();
       HttpServletRequest request = (HttpServletRequest) context
       .getExternalContext().getRequest();
       String changeName = request.getParameter("changeTable");
       int rowIndex = Integer.parseInt(request.getParameter("rowIndex"));
      
       GoodsItem goodsBean = (GoodsItem) getBean("goodsItemIE518");
       List goodsList;
      
       if (changeName.equals("prevAdminDocuments")) {
       goodsList = (List) goodsBean.getPrevAdminDocuments();
       GIPreviousAdmReferences good = ((GIPreviousAdmReferences) goodsList
       .get(rowIndex));
       good.setChanged(true);
      
      
       } else if (changeName.equals("producedDocCerts")) {
       goodsList = (List) goodsBean.getProducedDocCerts();
       GIProducedDocCert good = ((GIProducedDocCert) goodsList
       .get(rowIndex));
       good.setChanged(true);
      
       } else if (changeName.equals("specialMentions")) {
       goodsList = (List) goodsBean.getSpecialMentions();
       GISpecialMentions good = ((GISpecialMentions) goodsList
       .get(rowIndex));
      
       good.setChanged(true);
      
      
      
       } else if (changeName.equals("containers")) {
       goodsList = (List) goodsBean.getContainers();
       GIContainers good = ((GIContainers) goodsList.get(rowIndex));
       good.setChanged(true);
      
      
       } else if (changeName.equals("packages")) {
       goodsList = (List) goodsBean.getPackages();
       GIPackages good = ((GIPackages) goodsList.get(rowIndex));
       good.setChanged(true);
      
       }
       setBean("goodsItemIE518", goodsBean);
      
      
       }
      

      The table row is in a <a4j:repeat> block.