All work and no play makes Jack a dull boy

quinta-feira, 15 de maio de 2014

Serializar formulário sem jquery

Como posso serializar um formulário com javascript?

O javascript não possui o método .serialize() do jQuery para criar uma query string dos valores inseridos em um formulário. Porém há uma solução

(function() {
 function serialize( form ) {
  var data = [];
  var elements = form.querySelectorAll( "input, select, textarea" );
  for( var i = 0; i < elements.length; ++i ) {
   var element = elements[i];
   var name = element.name;
   var value = element.value;
   var str = name + "=" + value;
   data.push( str ); 
  }
  return data.join( "&" );
 }

 document.addEventListener( "DOMContentLoaded", function() {
  var form = document.getElementById( "test" );
  
  form.addEventListener( "submit", function( e ) {
   e.preventDefault();
   var queryString = serialize( this );
  }, false);
 });
})();

Essa técnica se mostra fundamental com AJAX

Traduzido daqui e via @pinceladasweb

Nenhum comentário:

Postar um comentário