« Return to Thread: "Form" is not a constructor

RE: RE: Re: "Form" is not a constructor

by Ben Kyrlach :: Rate this Message:

Reply to Author | View in Thread

Matt...
 
Here's a "patch" of sorts. A couple of notes.
 
1) This patch may break some functionality in "prototype.js". My particular project only needed to use it minimally, and the part I modified didn't affect what I was working on. Since I needed html unit, I made the change to prototype.js without considering any ramifications on other functionality.
 
2) Having little experience with patches, I'm not sure if you'll need to change the repository name (at the top of the patch file) to make it work with your set up. I hope you don't have any problems with it however.
 
That said, hope it helps.
 
Thanks,
 
Ben Kyrlach -- Operations Intern.
 
 
-----Original Message-----
From: htmlunit-user-admin@... [mailto:htmlunit-user-admin@...]On Behalf Of mraible (sent by Nabble.com)
Sent: Wednesday, January 04, 2006 6:09 PM
To: htmlunit-user@...
Subject: [Htmlunit-user] RE: Re: "Form" is not a constructor

Ben Kyrlach wrote:
I've also experienced this problem before. Unfortunantly, I was unable to isolate the problematic code from the application under test. If you're using "prototype.js" (a standard javascript library it seems) I've found that a simple modification to that JS file solved my problem.
Please provide the patch for prototype.js as I'm having the same issue on my project.

Thanks,

Matt

View this message in context: RE: Re: "Form" is not a constructor
Sent from the HtmlUnit - General forum at Nabble.com.

Index: prototype.js
===================================================================
RCS file: /usr/local/cvsroot/hobsons2.0/tim/TIMConfig/prototype.js,v
retrieving revision 1.1
diff -u -r1.1 prototype.js
--- prototype.js 5 Jan 2006 19:19:30 -0000 1.1
+++ prototype.js 5 Jan 2006 19:22:12 -0000
@@ -581,13 +581,13 @@
 
 /*--------------------------------------------------------------------------*/
 
-var Form = {
+var Form1 = {
   serialize: function(form) {
-    var elements = Form.getElements($(form));
+    var elements = Form1.getElements($(form));
     var queryComponents = new Array();
     
     for (var i = 0; i < elements.length; i++) {
-      var queryComponent = Form.Element.serialize(elements[i]);
+      var queryComponent = Form1.Element.serialize(elements[i]);
       if (queryComponent)
         queryComponents.push(queryComponent);
     }
@@ -599,7 +599,7 @@
     var form = $(form);
     var elements = new Array();
 
-    for (tagName in Form.Element.Serializers) {
+    for (tagName in Form1.Element.Serializers) {
       var tagElements = form.getElementsByTagName(tagName);
       for (var j = 0; j < tagElements.length; j++)
         elements.push(tagElements[j]);
@@ -627,7 +627,7 @@
   },
 
   disable: function(form) {
-    var elements = Form.getElements(form);
+    var elements = Form1.getElements(form);
     for (var i = 0; i < elements.length; i++) {
       var element = elements[i];
       element.blur();
@@ -636,7 +636,7 @@
   },
 
   enable: function(form) {
-    var elements = Form.getElements(form);
+    var elements = Form1.getElements(form);
     for (var i = 0; i < elements.length; i++) {
       var element = elements[i];
       element.disabled = '';
@@ -645,7 +645,7 @@
 
   focusFirstElement: function(form) {
     var form = $(form);
-    var elements = Form.getElements(form);
+    var elements = Form1.getElements(form);
     for (var i = 0; i < elements.length; i++) {
       var element = elements[i];
       if (element.type != 'hidden' && !element.disabled) {
@@ -660,11 +660,11 @@
   }
 }
 
-Form.Element = {
+Form1.Element = {
   serialize: function(element) {
     var element = $(element);
     var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
+    var parameter = Form1.Element.Serializers[method](element);
     
     if (parameter)
       return encodeURIComponent(parameter[0]) + '=' +
@@ -674,24 +674,24 @@
   getValue: function(element) {
     var element = $(element);
     var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
+    var parameter = Form1.Element.Serializers[method](element);
     
     if (parameter)
       return parameter[1];
   }
 }
 
-Form.Element.Serializers = {
+Form1.Element.Serializers = {
   input: function(element) {
     switch (element.type.toLowerCase()) {
       case 'submit':
       case 'hidden':
       case 'password':
       case 'text':
-        return Form.Element.Serializers.textarea(element);
+        return Form1.Element.Serializers.textarea(element);
       case 'checkbox':  
       case 'radio':
-        return Form.Element.Serializers.inputSelector(element);
+        return Form1.Element.Serializers.inputSelector(element);
     }
     return false;
   },
@@ -725,7 +725,7 @@
 
 /*--------------------------------------------------------------------------*/
 
-var $F = Form.Element.getValue;
+var $F = Form1.Element.getValue;
 
 /*--------------------------------------------------------------------------*/
 
@@ -753,17 +753,17 @@
   }
 }
 
-Form.Element.Observer = Class.create();
-Form.Element.Observer.prototype = (new Abstract.TimedObserver()).extend({
+Form1.Element.Observer = Class.create();
+Form1.Element.Observer.prototype = (new Abstract.TimedObserver()).extend({
   getValue: function() {
-    return Form.Element.getValue(this.element);
+    return Form1.Element.getValue(this.element);
   }
 });
 
-Form.Observer = Class.create();
-Form.Observer.prototype = (new Abstract.TimedObserver()).extend({
+Form1.Observer = Class.create();
+Form1.Observer.prototype = (new Abstract.TimedObserver()).extend({
   getValue: function() {
-    return Form.serialize(this.element);
+    return Form1.serialize(this.element);
   }
 });
 
@@ -791,7 +791,7 @@
   },
   
   registerFormCallbacks: function() {
-    var elements = Form.getElements(this.element);
+    var elements = Form1.getElements(this.element);
     for (var i = 0; i < elements.length; i++)
       this.registerCallback(elements[i]);
   },
@@ -825,17 +825,17 @@
   }
 }
 
-Form.Element.EventObserver = Class.create();
-Form.Element.EventObserver.prototype = (new Abstract.EventObserver()).extend({
+Form1.Element.EventObserver = Class.create();
+Form1.Element.EventObserver.prototype = (new Abstract.EventObserver()).extend({
   getValue: function() {
-    return Form.Element.getValue(this.element);
+    return Form1.Element.getValue(this.element);
   }
 });
 
-Form.EventObserver = Class.create();
-Form.EventObserver.prototype = (new Abstract.EventObserver()).extend({
+Form1.EventObserver = Class.create();
+Form1.EventObserver.prototype = (new Abstract.EventObserver()).extend({
   getValue: function() {
-    return Form.serialize(this.element);
+    return Form1.serialize(this.element);
   }
 });
 
@@ -1033,6 +1033,4 @@
     target.style.top    = offsets[1] + 'px';
     target.style.left   = offsets[0] + 'px';
     target.style.width  = source.offsetWidth + 'px';
-    target.style.height = source.offsetHeight + 'px';
-  }
-}
+    target.style.height = source.off
\ No newline at end of file

 « Return to Thread: "Form" is not a constructor