jQuery ajax - طريقة serialize()

مثال

أخرج نتيجة سلسلة قيم النموذج:

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

جربها بنفسك

التعريف والاستخدام

يخلق طريقة serialize() عن طريق سلسلة قيم النموذج، نص URL تم ترميزه.

يمكنك اختيار عنصر أو عدة عناصر من النموذج (مثل input أو input box) أو النموذج نفسه.

مقدارهای سریال‌سازی‌شده می‌توانند در جستجوی رشته URL در هنگام ایجاد درخواست AJAX استفاده شوند.

نحوه استفاده

$(selector).serialize()

شرحی دقیق‌تر

.serialize() روشی است که یک رشته متنی با استفاده از کد URL استاندارد ایجاد می‌کند. عملکرد آن بر روی جوهره‌های مجموعه عنصر فرم است.

عناصر فرم چندین نوع دارند:

<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() روشی است که می‌تواند جوهره‌های فرم انتخاب شده توسط jQuery را عملیات کند، مانند <input>, <textarea> و <select>. اما، انتخاب <form> برچسب برای سریال‌سازی معمولاً آسان‌تر است:

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

خروجی جستجوی استاندارد رشته‌ای:

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

التعليقات:فقط کنترل‌های موفقیت‌آمیز را به عنوان رشته‌ای سریال‌سازی می‌کند. اگر فرم را بدون استفاده از دکمه‌ای برای ارسال فرم، ارسال نکنید، مقدار دکمه ارسال سریال‌سازی نمی‌شود. اگر بخواهید مقدار یک عنصر فرم به رشته سریال‌سازی اضافه شود، عنصر باید از ویژگی name استفاده کند.