You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2008/04/12 00:20:15 UTC

svn commit: r647334 - /myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Author: lu4242
Date: Fri Apr 11 15:20:12 2008
New Revision: 647334

URL: http://svn.apache.org/viewvc?rev=647334&view=rev
Log:
fix MYFACES-1859 Optimize javascript following good practices

Modified:
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?rev=647334&r1=647333&r2=647334&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Fri Apr 11 15:20:12 2008
@@ -1024,11 +1024,12 @@
         context.append(CLEAR_HIDDEN_INPUT_FN_NAME).append("(formname, name, value)");
         context.append("{");
         context.append("var form = document.forms[formname];");
+        context.append("var hInput = form.elements[name];");
         context.prettyLine();
-        context.append("if(typeof form.elements[name]!='undefined')");
+        context.append("if(typeof hInput !='undefined')");
         context.append("{");
         //context.append("form.elements[name].value=null;");
-        context.append("form.removeChild(form.elements[name]);");
+        context.append("form.removeChild(hInput);");
         context.append("}");
 
         context.append("}");
@@ -1051,21 +1052,25 @@
 
         context.prettyLine();
 
+        context.append("var form = document.forms[formName];");
+        context.prettyLine();
         //set the target (and save it). This should be done always, 
         //and the default value of target is always valid.
-        context.append("var oldTarget = document.forms[formName].target;");
+        context.append("var oldTarget = form.target;");
         context.prettyLine();
         context.append("if(target != null)");
         context.append("{");
         context.prettyLine();
-        context.append("document.forms[formName].target=target;");
+        context.append("form.target=target;");
         context.append("}");
 
         //set the submit parameters
 
         context.append("if((typeof params!='undefined') && params != null)");
         context.append("{");
-        context.append("for(var i=0; i<params.length; i++)");
+        context.append("var n=params.length;");
+        context.prettyLine();
+        context.append("for(var i=0; i<n; i++)");
         context.append("{");
         context.append(SET_HIDDEN_INPUT_FN_NAME).append("(formName,params[i][0], params[i][1]);");
         context.append("}");
@@ -1082,24 +1087,24 @@
 
         //do the actual submit calls
 
-        context.append("if(document.forms[formName].onsubmit)");
+        context.append("if(form.onsubmit)");
         context.append("{");
-        context.append("var result=document.forms[formName].onsubmit();");
+        context.append("var result=form.onsubmit();");
         context.prettyLine();
         context.append("if((typeof result=='undefined')||result)");
         context.append("{");
-        context.append("document.forms[formName].submit();");
+        context.append("form.submit();");
         context.append("}");
         context.append("}");
         context.append("else ");
         context.append("{");
-        context.append("document.forms[formName].submit();");
+        context.append("form.submit();");
         context.append("}");
 
         //reset the target
         context.prettyLine();
         //Restore the old target, no more questions asked
-        context.append("document.forms[formName].target=oldTarget;");
+        context.append("form.target=oldTarget;");
         context.prettyLine();
 
         //clear the individual parameters - to make sure that even if the clear-function isn't called,
@@ -1107,7 +1112,9 @@
 
         context.append("if((typeof params!='undefined') && params != null)");
         context.append("{");
-        context.append("for(var i=0; i<params.length; i++)");
+        context.append("var n=params.length;");
+        context.prettyLine();
+        context.append("for(var i=0; i<n; i++)");
         context.append("{");
         context.append(CLEAR_HIDDEN_INPUT_FN_NAME).append("(formName,params[i][0], params[i][1]);");
         context.append("}");