You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/10/15 07:17:47 UTC
svn commit: r464123 - in /tapestry/tapestry4/trunk:
tapestry-examples/Workbench/src/context/Dates.html
tapestry-framework/src/js/tapestry/form.js
Author: jkuhnert
Date: Sat Oct 14 22:17:46 2006
New Revision: 464123
URL: http://svn.apache.org/viewvc?view=rev&rev=464123
Log:
Ok fine. So maybe josh had a point.
Modified:
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html?view=diff&rev=464123&r1=464122&r2=464123
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html Sat Oct 14 22:17:46 2006
@@ -10,7 +10,7 @@
<form jwcid="@Form" delegate="bean:delegate"
clientValidationEnabled="ognl:clientValidationEnabled"
- async="ognl:true" updateComponents="ognl:{'dateDisplay'}" >
+ async="true" updateComponents="dateDisplay" >
<table valign="middle">
<tr>
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js?view=diff&rev=464123&r1=464122&r2=464123
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js Sat Oct 14 22:17:46 2006
@@ -61,41 +61,59 @@
// make sure id is correct just in case node passed in has only name
id=form.getAttribute("id");
- // previously connected, cleanup and connect aga
- if (!this.forms[id] || (this.forms[id] && dojo.render.html.ie)) {
+ // if previously connected, cleanup and reconnect
+ if (this.forms[id]) {
+ dojo.event.disconnect(form, "onsubmit", this, "onFormSubmit");
+ for(var i = 0; i < form.elements.length; i++) {
+ var node = form.elements[i];
+ if(node && node.type && dojo.lang.inArray(["submit", "button"],node.type.toLowerCase())) {
+ dojo.event.disconnect(node, "onclick", tapestry.form, "inputClicked");
+ }
+ }
- this.forms[id]={};
- this.forms[id].validateForm=true;
- this.forms[id].profiles=[];
- this.forms[id].async=(typeof async != "undefined") ? async : false;
- this.forms[id].json=(typeof json != "undefined") ? json : false;
+ var inputs = form.getElementsByTagName("input");
+ for(var i = 0; i < inputs.length; i++) {
+ var input = inputs[i];
+ if(input.type.toLowerCase() == "image" && input.form == form) {
+ dojo.event.disconnect(input, "onclick", tapestry.form, "inputClicked");
+ }
+ }
- if (!this.forms[id].async) {
- dojo.event.connect(form, "onsubmit", this, "onFormSubmit");
- } else {
- for(var i = 0; i < form.elements.length; i++) {
- var node = form.elements[i];
- if(node && node.type && dojo.lang.inArray(node.type.toLowerCase(), ["submit", "button"])) {
- dojo.event.connect(node, "onclick", tapestry.form, "inputClicked");
- }
+ dojo.event.disconnect(form, "onsubmit", this, "overrideSubmit");
+ delete this.forms[id];
+ }
+
+ this.forms[id]={};
+ this.forms[id].validateForm=true;
+ this.forms[id].profiles=[];
+ this.forms[id].async=(typeof async != "undefined") ? async : false;
+ this.forms[id].json=(typeof json != "undefined") ? json : false;
+
+ if (!this.forms[id].async) {
+ dojo.event.connect(form, "onsubmit", this, "onFormSubmit");
+ } else {
+ for(var i = 0; i < form.elements.length; i++) {
+ var node = form.elements[i];
+ if(node && node.type && dojo.lang.inArray(["submit", "button"],node.type.toLowerCase())) {
+ dojo.event.connect(node, "onclick", tapestry.form, "inputClicked");
}
-
- var inputs = form.getElementsByTagName("input");
- for(var i = 0; i < inputs.length; i++) {
- var input = inputs[i];
- if(input.type.toLowerCase() == "image" && input.form == form) {
- dojo.event.connect(input, "onclick", tapestry.form, "inputClicked");
- }
+ }
+
+ var inputs = form.getElementsByTagName("input");
+ for(var i = 0; i < inputs.length; i++) {
+ var input = inputs[i];
+ if(input.type.toLowerCase() == "image" && input.form == form) {
+ dojo.event.connect(input, "onclick", tapestry.form, "inputClicked");
}
-
- dojo.event.connect(form, "onsubmit", function(e) {
- dojo.event.browser.stopEvent(e);
- tapestry.form.submitAsync(form);
- });
}
- } else {
- dojo.log.debug("registerForm(" + id + ") Form already registered, ignoring.");
+
+ dojo.event.connect(form, "onsubmit", this, "overrideSubmit");
}
+ },
+
+ overrideSubmit:function(e){
+ dojo.event.browser.stopEvent(e);
+ tapestry.form.submitAsync(e.target);
},
/**