summaryrefslogtreecommitdiff
path: root/html/content/js/Forms/serialize.js
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-12 07:16:23 +0200
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-12 07:16:23 +0200
commit7076343338ae3439f3c86f01144818abe8c31978 (patch)
tree794abb1e6b8f821091fd095341885496b6dad51d /html/content/js/Forms/serialize.js
parent47cbb529f5723b246125ae083a193e11481b89ef (diff)
downloadclassroom-7076343338ae3439f3c86f01144818abe8c31978.tar.gz
classroom-7076343338ae3439f3c86f01144818abe8c31978.tar.bz2
classroom-7076343338ae3439f3c86f01144818abe8c31978.zip
add container helpers; constuct public directory-tree
Diffstat (limited to 'html/content/js/Forms/serialize.js')
-rw-r--r--html/content/js/Forms/serialize.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/html/content/js/Forms/serialize.js b/html/content/js/Forms/serialize.js
new file mode 100644
index 0000000..0bdd44c
--- /dev/null
+++ b/html/content/js/Forms/serialize.js
@@ -0,0 +1,30 @@
+define(function () {
+ return function ($elements) {
+ var values = {};
+ $elements.each(function () {
+ var $input = $(this);
+ var value = $input.val();
+ if (!value) {
+ return;
+ }
+ if ($input.is(':checkbox, :radio') && !$input.is(':checked')) {
+ return;
+ }
+ var name = $(this).attr('name');
+ var v = values[name] || [];
+ values[name] = v;
+ v.push(value);
+ });
+ var s = '';
+ for (var k in values) {
+ for (var i = 0; i < values[k].length; i++) {
+ s += '&' + k + '=' + encodeURIComponent(values[k][i]);
+ }
+ }
+ if (s) {
+ s = s.substr(1);
+ }
+ return s;
+ };
+
+}); \ No newline at end of file