jQuery ajax - methode serialize()
Voorbeeld
Geef het resultaat van de geserialiseerde formulierwaarden weer:
$("button").click(function(){ $("div").text($("form").serialize()); });
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.