jQuery ajax - methode serialize()

Voorbeeld

Geef het resultaat van de geserialiseerde formulierwaarden weer:

$("button").click(function(){
  $("div").text($("form").serialize());
});

Probeer het zelf uit

Definitie en gebruik

De methode serialize() creëert een URL-gecodeerde tekststring door de waarden van het formulier te serialiseren.

U kunt een of meerdere formulierelementen (bijvoorbeeld input en/of tekstvakken) kiezen, of de formularelement zelf.

De gesequentieerde waarden kunnen worden gebruikt in de URL-query string bij het genereren van AJAX-verzoeken.

Syntaxis

$(selector).serialize()

Uitleg

.serialize() methode maakt een tekststring met standaard URL-encoding. Zijn operationele object is een jQuery-object dat een verzameling van formulierelementen vertegenwoordigt.

Er zijn verschillende typen formulierelementen:

<form>
  <div><input type="text" name="a" value="1" id="a" /></div>
  <div><input type="text" name="b" value="2" id="b" /></div>
  <div><input type="hidden" name="c" value="3" id="c" /></div>
  <div>
    <textarea name="d" rows="8" cols="40">4</textarea>
  </div>
  <div><select name="e">
    <option value="5" selected="selected">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
  </select></div>
  <div>
    <input type="checkbox" name="f" value="8" id="f" />
  </div>
  <div>
    <input type="submit" name="g" value="Submit" id="g" />
  </div>
</form>

.serialize() methode kan worden gebruikt om jQuery-objecten die individuele formulierelementen selecteren, te manipuleren, zoals <input>, <textarea> en <select>. Echter, het serialiseren van het <form>-tag zelf is meestal gemakkelijker:

$('form').submit(function() {
  alert($(this).serialize());
  return false;
});

Uitvoer van een standaard query string:

a=1&b=2&c=3&d=4&e=5

Opmerking:Slechts de”gelukkelijke knoppen”worden gesequentieerd naar een string. Als de submit-knop niet wordt gebruikt om het formulier in te dienen, wordt de waarde van de submit-knop niet gesequentieerd. Als de waarde van het formulierelement moet worden opgenomen in de sequentiële string, moet het element de name-eigenschap gebruiken.