Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Serializzare i campi di un form in jQuery

Link copiato negli appunti

Quando inviamo un form tramite AJAX è sempre necessario serializzare i dati presenti per poterli far gestire dallo script lato server che andrà  ad elaborare la richiesta. Di solito questa serializzazione ha la forma di una stringa che si presenta così:

name=Gabriele&email=gabriele.romanato@gmail.com

Il problema è che i metodi nativi di jQuery e anche quelli di molti plugin di default serializzano tutti i campi dei form, anche quelli che non sono rilevanti per l'elaborazione lato server. Per ovviare a questo problema possiamo scrivere il seguente plugin:

(function($) {
    $.fn.getFormData = function() {
       var data = [];
       this.find(':input').not(':submit').each(function() {
	        var $inputName = $(this).attr('name');
	        var $inputVal = $(this).val();
	        var formValue = $inputName + '=' + $inputVal;
	        data.push(formValue);
      });
      return data.join('&');
   };
})(jQuery);

Questo semplice plugin ricerca tutti i campi ad eccezione del bottone di invio e memorizza il loro attributo name e value in un array che poi verrà  trasformato in una stringa. Ovviamente possiamo personalizzare il nostro plugin in modo diverso, per esempio istruendolo a non considerare i campi di tipo hidden.

Ti consigliamo anche