Improve form submission, make use of serializeObject

This commit is contained in:
Thomas Gelf 2014-03-26 07:48:22 +00:00
parent 8dbf7b0729
commit b54326bf5d
2 changed files with 15 additions and 14 deletions

View File

@ -175,7 +175,7 @@
var url = $form.attr('action').replace(regex, '&'); // WHY??
var method = $form.attr('method');
var $target;
var data = $form.serializeArray();
var data;
if (typeof method === 'undefined') {
method = 'POST';
@ -186,20 +186,21 @@
event.stopPropagation();
event.preventDefault();
// TODO: Check button
if (typeof autosubmit === 'undefined' || ! autosubmit) {
data.push({ name: 'btn_submit', value: 'yesss' });
}
icinga.logger.debug('Submitting form: ' + method + ' ' + url, method);
$target = self.getLinkTargetFor($form);
if (method === 'GET') {
icinga.loader.loadUrl(icinga.utils.addUrlParams(url, data), $target, undefined, method);
url = icinga.utils.addUrlParams(url, $form.serializeObject());
} else {
icinga.loader.loadUrl(url, $target, data, method);
data = $form.serializeArray();
// TODO: Check button
if (typeof autosubmit === 'undefined' || ! autosubmit) {
data.push({ name: 'btn_submit', value: 'yesss' });
}
}
icinga.loader.loadUrl(url, $target, data, method);
return false;
},

View File

@ -89,13 +89,13 @@
// Local URLs only
addUrlParams: function (url, params) {
var parts = this.parseUrl(url);
var result = parts.path;
var newparams = parts.params;
var idx, p;
$.each(params, function (idx, p) {
var parts = this.parseUrl(url),
result = parts.path,
newparams = parts.params;
$.each(params, function (key, value) {
// We overwrite existing params
newparams[p.name] = p.value;
newparams[key] = value;
});
if (Object.keys(newparams).length > 0) {