summaryrefslogtreecommitdiff
path: root/public/assets/js/_dependency-control/forms/serialize.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/_dependency-control/forms/serialize.js')
-rw-r--r--public/assets/js/_dependency-control/forms/serialize.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/public/assets/js/_dependency-control/forms/serialize.js b/public/assets/js/_dependency-control/forms/serialize.js
new file mode 100644
index 0000000..0bdd44c
--- /dev/null
+++ b/public/assets/js/_dependency-control/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