You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/02/24 12:15:07 UTC

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

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 <mg...@apache.org>
Authored: Fri Feb 24 12:14:58 2012 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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 !== "") {