diff --git a/src/main/webapp/scripts/lib/form2js/src/form2js.js b/src/main/webapp/scripts/lib/form2js/src/form2js.js index 61a977db1e8e2a5d8f1e34a5a5d2cabc2397f7f3..63c054ba006878879316e18fc4c2415147ae0ad7 100755 --- a/src/main/webapp/scripts/lib/form2js/src/form2js.js +++ b/src/main/webapp/scripts/lib/form2js/src/form2js.js @@ -258,7 +258,7 @@ function extractNodeValues(node, nodeCallback, useIdIfEmptyName, getDisabled) { if (node.disabled && !getDisabled) return []; - var callbackResult, hasValue, fieldValue, result, fieldName = getFieldName(node, useIdIfEmptyName); + var callbackResult, fieldValue, result, fieldName = getFieldName(node, useIdIfEmptyName); callbackResult = nodeCallback && nodeCallback(node); @@ -268,16 +268,14 @@ else if (fieldName != '' && node.nodeName.match(/INPUT|TEXTAREA/i)) { fieldValue = getFieldValue(node, getDisabled); - hasValue = !!fieldValue; - // convert items with 'array-list' class to an actual array - if (hasValue && /array-list|list-array/i.test(node.className)) { + if (/array-list|list-array/i.test(node.className)) { fieldValue = fieldValue.split(',').map(function(item, i){ return item.trim(); }); } - if (!hasValue) { + if (fieldValue === null) { result = []; } else { result = [ { name: fieldName, value: fieldValue} ]; diff --git a/src/main/webapp/scripts/xnat/admin/siteInfo.js b/src/main/webapp/scripts/xnat/admin/siteInfo.js index 2e491e0af226a862146e2e7b824963fb81b93004..fda3b75da462492c5518e5b297a52450cce408cf 100644 --- a/src/main/webapp/scripts/xnat/admin/siteInfo.js +++ b/src/main/webapp/scripts/xnat/admin/siteInfo.js @@ -1,4 +1,7 @@ // interractions with 'Site Info' section of admin ui + +console.log('siteInfo.js'); + (function(){ var $container = $('[data-name="siteDescriptionType"]'); diff --git a/src/main/webapp/scripts/xnat/ui/panel.js b/src/main/webapp/scripts/xnat/ui/panel.js index 3373652ec1898c9d97f4855ccbf8384127fe1132..01ffa1529ac1e878ba0b6023c2a1708647273b86 100644 --- a/src/main/webapp/scripts/xnat/ui/panel.js +++ b/src/main/webapp/scripts/xnat/ui/panel.js @@ -500,10 +500,12 @@ var XNAT = getObject(XNAT || {}); } }; + var inputs = $form.find(':input').not('button, [type="submit"]').toArray(); + if (/json/i.test(opts.contentType||'')){ // ajaxConfig.data = JSON.stringify(formToJSON(this)); // ajaxConfig.data = JSON.stringify(form2js(this, /[:\[\]]/)); - ajaxConfig.data = JSON.stringify(form2js(this, ':', false)); + ajaxConfig.data = JSON.stringify(form2js(inputs, ':', false)); ajaxConfig.processData = false; ajaxConfig.contentType = 'application/json'; $.ajax(ajaxConfig);