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 url = $form.attr('action').replace(regex, '&'); // WHY??
var method = $form.attr('method'); var method = $form.attr('method');
var $target; var $target;
var data = $form.serializeArray(); var data;
if (typeof method === 'undefined') { if (typeof method === 'undefined') {
method = 'POST'; method = 'POST';
@ -186,20 +186,21 @@
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); 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); icinga.logger.debug('Submitting form: ' + method + ' ' + url, method);
$target = self.getLinkTargetFor($form); $target = self.getLinkTargetFor($form);
if (method === 'GET') { if (method === 'GET') {
icinga.loader.loadUrl(icinga.utils.addUrlParams(url, data), $target, undefined, method); url = icinga.utils.addUrlParams(url, $form.serializeObject());
} else { } 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; return false;
}, },

View File

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