jQuery 3.3

.serialize()




jquery

إرجاع .serialize () : String

الوصف: قم بترميز مجموعة من عناصر النموذج كسلسلة لتقديمها.

  • الإصدار المضاف: 1.0 .serialize()

    • هذه الطريقة لا تقبل أي حجج.

يقوم الأسلوب .serialize() بإنشاء سلسلة نصية في الترميز القياسي لعنوان URL. يمكن أن تعمل على كائن jQuery الذي قام بتحديد عناصر تحكم نموذج فردية ، مثل <input> ، <textarea> ، و <select> : $( "input, textarea, select" ).serialize();

ومع ذلك ، فمن الأسهل عادةً تحديد <form> نفسها للتسلسل:

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

في هذه الحالة ، يقوم jQuery بتسلسل عناصر التحكم الناجحة داخل النموذج. يتم فحص عناصر form فقط من أجل المدخلات التي تحتويها ، وفي جميع الحالات الأخرى ، يجب أن تكون عناصر المدخلات التي يجب أن تكون متسلسلة جزءًا من المجموعة التي تم تمريرها إلى طريقة .serialize() . سيؤدي تحديد كل من النموذج وأولاده في مجموعة إلى التكرار في السلسلة المتسلسلة.

ملاحظة: يتم فقط تسلسل "عناصر التحكم الناجحة" إلى السلسلة. لم يتم تسلسل أي قيمة زر إرسال لأن النموذج لم يتم إرساله باستخدام زر. لقيمة عنصر النموذج ليتم تضمينها في السلسلة المتسلسلة ، يجب أن يحتوي العنصر على سمة name . يتم تضمين القيم من مربعات الاختيار وأزرار الاختيار ( input s من نوع "radio" أو "checkbox") فقط إذا تم التحقق منها. البيانات من عناصر اختيار الملف غير متسلسلة.

مثال:

تسلسل نموذج إلى سلسلة استعلام يمكن إرسالها إلى خادم في طلب Ajax.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>serialize demo</title>
  <style>
  body, select {
    font-size: 12px;
  }
  form {
    margin: 5px;
  }
  p {
    color: red;
    margin: 5px;
    font-size: 14px;
  }
  b {
    color: blue;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<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>
 
</body>
</html>

عرض: