jQuery ajax - serializeArray() yöntemi

Örnek

Form değerlerinin dizgi olarak serileştirilmiş sonuçlarını çıktıya verin:

$("button").click(function(){
  x=$("form").serializeArray();
  $.each(x, function(i, field){
    $("#results").append(field.name + ":" + field.value + " ");
  );
);

Deneyin

Tanım ve kullanım

serializeArray() yöntemi, form değerlerini serileştirerek nesne dizisi oluşturur (ad ve değer).

Bir veya daha fazla form elementi (örneğin input ve/veya textarea) veya form etiketi kendisini seçebilirsiniz.

Sözdizimi

$(seçici).serializeArray()

Ayrıntılı açıklama

serializeArray() yöntemi, form elementlerini (benzer) .serialize() yöntemidöner.

Dikkat:Bu yöntem JSON nesnesi döner, JSON dizgesi olmaz. Dizgeselleştirme işlemi için eklenti veya üçüncü taraf kütüphanesi kullanmanız gerekebilir.

Dönen JSON nesnesi, her biri name parametresi ve value parametresi (value boş değilse) içeren bir nesne dizisinden oluşur. Örneğin:

[ 
  {name: 'firstname', value: 'Hello'}, 
  {name: 'lastname', value: 'World'},
  {name: 'alias'}, // Değer boş
]

.serializeArray() yöntemi, W3C'nin successful controlsgeçerli denetimlerin standartlarına göre hangi elementlerin dahil edilmesi gerektiğini tespit eder. Özellikle belirtmek gerekirse, elementler devre dışı bırakılamaz (devre dışı bırakılan elementler dahil edilmez) ve elementlerin name özelliği olmalıdır. Gönderim düğmesi değerleri de serileştirilmez. Dosya seçim elementi verileri de serileştirilmez.

Bu yöntem, <input>, <textarea> ve <select> gibi ayrı form elemanlarını seçmek için kullanılır, ancak daha kolay bir yöntem, doğrudan <form> etiketini seçmek ve serileştirme işlemi gerçekleştirmektir.

$("form").submit(function() {
  console.log($(this).serializeArray());
  return false;
);

Yukarıdaki kodun aşağıdaki veri yapısını oluşturur(tarayıcı console.log destekliyorsa):

[
  {
    ad: a
    değer: 1
  },
  {
    ad: b
    değer: 2
  },
  {
    ad: c
    değer: 3
  },
  {
    ad: d
    değer: 4
  },
  {
    ad: e
    değer: 5
  }
]

Örnek

Form içeriğini al ve web sayfasına ekle:

HTML kodu:

<p id="results"><b>Sonuçlar:</b> </p>
<form>
  <select name="single">
    <option>Tek</option>
    <option>Tek2</option>
  </select>
  <select name="multiple" multiple="multiple">
    <option selected="selected">Çoklu</option>
    <option>Çoklu2</option>
    <option selected="selected">Çoklu3</option>
  </select><br/>
  <input type="checkbox" name="check" value="check1"/> check1
  <input type="checkbox" name="check" value="check2" checked="checked"/> check2
  <input type="radio" name="radio" value="radio1" checked="checked"/> radio1
  <input type="radio" name="radio" value="radio2"/> radio2
</form>

jQuery kodu:

var fields = $("select, :radio").serializeArray();
jQuery.each( fields, function(i, field){
  $("#results").append(field.value + " ");
);