Updated Branches:
  refs/heads/master 16eda14d3 -> ed2a4ba18

Improve Wicket.Form.serializeForm() to be able to serialize nested forms (div).


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ed2a4ba1
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ed2a4ba1
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ed2a4ba1

Branch: refs/heads/master
Commit: ed2a4ba183ef84a8fc2c4a2f09558d25cff790fc
Parents: 16eda14
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Fri Feb 24 12:14:58 2012 +0100
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Fri Feb 24 12:14:58 2012 +0100

----------------------------------------------------------------------
 .../wicket/ajax/res/js/wicket-ajax-jquery.js       |   21 +++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ed2a4ba1/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index 18f8736..0e57a16 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -1223,7 +1223,28 @@
 
                        serializeForm: function (form) {
                                var result = [],
+                                       elements,
+                                       nodeListToArray,
+                                       nodeId;
+
+                               nodeListToArray = function (nodeList) {
+                                       var arr = [];
+                                       if (nodeList && nodeList.length) {
+                                               for (nodeId = 0; nodeId < 
nodeList.length; nodeId++) {
+                                                       
arr.push(nodeList.item(nodeId));
+                                               }
+                                       }
+                                       return arr;
+                               };
+
+                               if (form && form.tagName.toLowerCase() === 
'form') {
                                        elements = form.elements;
+                               } else {
+                                       elements = 
nodeListToArray(form.getElementsByTagName("input"));
+                                       elements = 
nodeListToArray(form.getElementsByTagName("select"));
+                                       elements = 
nodeListToArray(form.getElementsByTagName("textarea"));
+                               }
+
                                for (var i = 0; i < elements.length; ++i) {
                                        var el = elements[i];
                                        if (el.name && el.name !== "") {

Reply via email to