.serialize()

.serialize() Dönen Değer : String
Açıklama : Form elemanlarını göndermek için string'e dönüştürür.

.serialize()
Bu metod bir parametre almaz.

.serialize() metodu standart URL-encoded notasyonda bir string oluşturur. Değişik form kontrollerinden seçilmiş bir jQuery nesnesi üzerinde çalışır. Örneğin <input>, <textarea>, ve <select> elemanları için :
$( "input, textarea, select" ).serialize();

Genellikle <form> elemanını komple seçmek daha kolay olacaktır.

$( "form" ).on( "submit", function( event ) {
  event.preventDefault();
  console.log( $( this ).serialize() );
});

Bu örnekteki şekliyle jQuery form içindeki kontrolleri bularak serialize edecektir. Sadece veri girişi bulunan <form> elemanları işleme alıır. Ama başka seçim yapılırsa seçilenlerin veri giriş elemanları olması gerekir. Hem form hem içindeki alt elemanların seçilmesi sonuç değerde çiftlemelere sebep olur.

Not : Sadece geçerli form kontrolleri stringe dahil edilir. Form bir buton kullanılarak gönderildiği için submit butonu da string'e konmaz. Çıktıda olmasını istediğiniz her form elemanının name özelliği olmalıdır. Checkbox ve radio button ("radio" veya "checkbox" tipi input elemanları) değerleri sadece seçili olmaları durumunda çıktıya dahil edilir. Dosya seçim elemanlarındaki veri çıktıya dahil edilmez.


Örnekler:

Bir formu bir Ajax isteğinde kullanılacak şekilde sorgu string'e çevir.

<style>
   body, select {
      font-size: 12px;
   }
   form {
      margin: 5px;
   }
   p {
      color: red;
      margin: 5px;
      font-size: 14px;
   }
   b {
      color: blue;
   }
</style>
<form>
   <select name="single">
      <option>Single</option>
      <option>Single2</option>
   </select>
   
   <br>
   <select name="multiple" multiple="multiple">
      <option selected="selected">Multiple</option>
      <option>Multiple2</option>
      <option selected="selected">Multiple3</option>
   </select>
   
   <br>
   <input type="checkbox" name="check" value="check1" id="ch1">
   <label for="ch1">check1</label>
   <input type="checkbox" name="check" value="check2" checked="checked" id="ch2">
   <label for="ch2">check2</label>
   
   <br>
   <input type="radio" name="radio" value="radio1" checked="checked" id="r1">
   <label for="r1">radio1</label>
   <input type="radio" name="radio" value="radio2" id="r2">
   <label for="r2">radio2</label>
</form>
<p><tt id="results"></tt></p>

<script>
   function showValues() {
      var str = $( "form" ).serialize();
      $( "#results" ).text( str );
   }
   $( "input[type='checkbox'], input[type='radio']" ).on( "click", showValues );
   $( "select" ).on( "change", showValues );
   showValues();
</script>



.

.