serialize()
возвращает строку в кодировке URL, а Jquery.trim
удаляет пробел из всей строки, который не вносит изменений в значения.
Используйте метод serializeArray()
, который возвращает массив и обновляет значения путем итерации.
var data = $(this).serializeArray();
data.forEach(o => o.value = jQuery.trim(o.value)); // or data.forEach(function(o){ o.value = jQuery.trim(o.value) });
Для создания одного пробела вы можете использовать метод String#replace
.
var data = $(this).serializeArray();
data.forEach(o => o.value = o.value.trim().replace(/\s+/g, ' '));