Skip to content

Commit

Permalink
fix(api): empty dropdown data was overriden by previous data
Browse files Browse the repository at this point in the history
Revert and proper fix of #2175
I forgot to check for an empty dropdown value. Jquery unfortunately does not return the field at all on serializeArray when multiple named fields (which should return an array) are empty.
  • Loading branch information
lubber-de committed Dec 20, 2021
1 parent c77b750 commit 51a0425
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions src/definitions/behaviors/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ $.api = $.fn.api = function(parameters) {
url,
data,
requestStartTime,
originalData,

// standard module
element = this,
Expand All @@ -86,6 +87,7 @@ $.api = $.fn.api = function(parameters) {

initialize: function() {
if(!methodInvoked) {
originalData = settings.data;
module.bind.events();
}
module.instantiate();
Expand Down Expand Up @@ -197,7 +199,7 @@ $.api = $.fn.api = function(parameters) {

// Add form content
if(settings.serializeForm) {
settings.data = module.add.formData(settings.data);
settings.data = module.add.formData(originalData || settings.data);
}

// call beforesend and get any settings changes
Expand Down Expand Up @@ -428,7 +430,7 @@ $.api = $.fn.api = function(parameters) {
formData = {},
hasOtherData
;
data = data || settings.data;
data = data || originalData || settings.data;
hasOtherData = $.isPlainObject(data);

$.each($form.serializeArray(), function (i, element) {
Expand All @@ -443,9 +445,6 @@ $.api = $.fn.api = function(parameters) {
} else {
formData[element.name] = element.value;
}
if(hasOtherData && data[element.name]) {
delete data[element.name];
}
});

if(hasOtherData) {
Expand Down

0 comments on commit 51a0425

Please sign in to comment.