JavaScript non dispone del metodo serialize() di jQuery per creare una query string dai valori inseriti in un form. Tuttavia una soluzione esiste.
Si tratta di selezionare gli elementi che ci interessano ed assemblare la query string quando il form viene inviato:
(function() {
function serialize( form ) {
let data = [];
let elements = form.querySelectorAll( 'input, select, textarea' );
for( let i = 0; i < elements.length; i++ ) {
let element = elements[i];
let name = element.name;
let value = element.value;
let str = name + '=' + value;
data.push( str );
}
return data.join( '&' );
}
document.addEventListener( 'DOMContentLoaded', () => {
let form = document.getElementById( 'form' );
form.addEventListener( 'submit', e => {
e.preventDefault();
let queryString = serialize( this );
}, false);
});
})();
Questa tecnica si rivela fondamentale con AJAX.