jQuery ajax - metoda serialize()

Przykład

Wypisz wynik sekwencjonowania wartości formularza:

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

Spróbuj sam

Definicja i użycie

Metoda serialize() poprzez sekwencjonowanie wartości formularza, tworzy ciąg tekstowy URL-encji.

Możesz wybrać jeden lub kilka elementów formularza (np. input oraz/ lub pole tekstowe), lub sam element formularza.

Wartości serializowane mogą być używane w ciągu zapytania URL przy generowaniu żądań AJAX.}

Gramatyka

$(selector).serialize()

Szczegółowe wyjaśnienie

.serialize() metoda tworzy tekstową stronę URL w standardowym kodowaniu URL. Obiektem operacyjnym jest obiekt jQuery reprezentujący zestaw elementów formularza.

Elementy formularza mają różne typy:

<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() metoda może operować na obiektach jQuery wybranych个别 formularza, takich jak <input>, <textarea> oraz <select>. Jednak serializacja samego znacznika <form> zazwyczaj jest łatwiejsza:

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

Wyjście standardowego ciągu zapytania:

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

Komentarz:Tylko serializuje "pomyślny element formularza" do ciągu znaków. Jeśli nie używasz przycisku do wysyłania formularza, wartość przycisku nie jest serializowana. Jeśli wartość elementu formularza ma być zawarta w ciągu serializowanym, element musi mieć atrybut name.