diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 31fadc789d4..6b6cbb3b58a 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1190,12 +1190,27 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt } }, get_arch_fragment: function() { + function removeWhiteSpacesNodes(node) { + switch (node.nodeType) { + case 3: + case 4: + if (node.data.trim() === '') { + node.parentElement.removeChild(node); + } + break; + case 1: + for (var i = node.childNodes.length - 1; i >= 0; i--) { + removeWhiteSpacesNodes(node.childNodes[i]); + } + } + } var doc = this.fvg.arch_doc.documentElement.cloneNode(true); // IE won't allow custom button@type and will revert it to spec default : 'submit' $('button', doc).each(function() { $(this).attr('data-button-type', $(this).attr('type')).attr('type', 'button'); }); - return $('
').append(doc); + removeWhiteSpacesNodes(doc); + return $('
').append(instance.web.xml_to_str(doc)); }, render_to: function($target) { var self = this;