Hi,Jeremy

Just after my last mail, I check the new dojo 1.2.1 and pack it to jar . The
error is still about onkey,but this time I found the problem.

>From dojo 1.2 the dijit.form.ValidationTextBox source has change its code
from "onkeyup:_onkeyup"  to "onkeyup:_update",you have 6 files affected by
this.
And the dijit.form.TextBox remove "onkeyup".TextArea.js is affected by this.

I change these 7 files and now your version is under dojo 1.2.1 !The
attachment file is patch, you could try it, hope it help.

And after doing this ,I found my encoding problem is a bit different. My
change works under IE and Google chrome, but not under FF 3. because chrome
is using M$'s IE component, the encoding problem maybe IS a IE problem only.

Regards,

Roy Huang
### Eclipse Workspace Patch 1.0
#P dojo1_1
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateTimeField.js
===================================================================
--- 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateTimeField.js
    (revision 713288)
+++ 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateTimeField.js
    (working copy)
@@ -60,7 +60,7 @@
 dojo.declare("cocoon.forms.DateTimeField", [dijit.form._DateTimeTextBox, 
cocoon.forms._FormattingFieldMixin, cocoon.forms._SizedFieldMixin], { 
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
+  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
     
   // Widget interface
   postMixInProperties: function() {
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TextArea.js
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TextArea.js 
(revision 713288)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TextArea.js 
(working copy)
@@ -39,6 +39,6 @@
        rows: "",
        cols: "",
 
-       templateString:"<textarea class=\"dijit dijitReset dijitLeft\" 
dojoAttachPoint='textbox,focusNode,containerNode' 
name=\"${name}\"\n\tdojoAttachEvent='onmouseenter:_onMouse,onmouseleave:_onMouse,onfocus:_onMouse,onblur:_onMouse,onkeypress:_onKeyPress,onkeyup'>"
+       templateString:"<textarea class=\"dijit dijitReset dijitLeft\" 
dojoAttachPoint='textbox,focusNode,containerNode' 
name=\"${name}\"\n\tdojoAttachEvent='onmouseenter:_onMouse,onmouseleave:_onMouse,onfocus:_onMouse,onblur:_onMouse,onkeypress:_onKeyPress'>"
   
 });
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextField.js
===================================================================
--- 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextField.js
      (revision 713288)
+++ 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextField.js
      (working copy)
@@ -36,6 +36,6 @@
   /* TODO: more fieldTypes: email, creditcard, uri etc. etc. */
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n"
+  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n"
   
 });
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TimeFieldjs
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TimeFieldjs 
(revision 713288)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/TimeFieldjs 
(working copy)
@@ -39,7 +39,7 @@
 dojo.declare("cocoon.forms.TimeField", [dijit.form.TimeTextBox, 
cocoon.forms._FormattingFieldMixin, cocoon.forms._SizedFieldMixin], {  
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
+  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
     
   // Widget interface
   postMixInProperties: function() {
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/NumberField.js
===================================================================
--- 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/NumberField.js  
    (revision 713288)
+++ 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/NumberField.js  
    (working copy)
@@ -53,7 +53,7 @@
   valueType: "number", // integer|long|float|double|number|percent 
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
+  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
   
   // TODO: don't clear invalid entries ???
   
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextArea.js
===================================================================
--- 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextArea.js
       (revision 713288)
+++ 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/ValidatingTextArea.js
       (working copy)
@@ -37,7 +37,7 @@
        cols: "",
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-       templateString:"<div style=\"width:auto;\" class=\"dijit dijitReset 
dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><textarea style=\"background: 
transparent\" class=\"dijitReset\" dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
+       templateString:"<div style=\"width:auto;\" class=\"dijit dijitReset 
dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><textarea style=\"background: 
transparent\" class=\"dijitReset\" dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
   
   validator: function(value, constraints){
     return (new RegExp("^(" + this.regExpGen(constraints) + 
")"+(this.required?"":"?")+"$", "m")).test(value) &&
Index: 
src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateFieldjs
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateFieldjs 
(revision 713288)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/resources/js/DateFieldjs 
(working copy)
@@ -36,7 +36,7 @@
 dojo.declare("cocoon.forms.DateField", [dijit.form.DateTextBox, 
cocoon.forms._FormattingFieldMixin, cocoon.forms._SizedFieldMixin], {  
 
   // adding a place for the status marker to dijit.form.ValidationTextBox's 
template
-  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
+  templateString:"<div class=\"dijit dijitReset dijitInlineTable 
dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"
 waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div 
class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div 
class=\"dijitReset 
dijitValidationIconText\">${_cforms_statusMarker}</div\n\t\t><div 
class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" 
dojoAttachPoint='textbox,focusNode' 
dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress'
 autocomplete=\"off\"\n\t\t\ttype='${type}' 
name='${name}'\n\t\t/></div\n\t></div\n></div>\n",
     
   // Widget interface
   postMixInProperties: function() {

Reply via email to