عدة مربعات التحديد بسيطة ليحل محل متعددة حدد مربع في HTML
-
05-07-2019 - |
سؤال
وأود أن تحل محل حدد مربع متعددة مثل:
<select multiple="multiple" name="options">
<option value="option1">option1</option>
<option value="option2">option2</option>
...
</select>
ومع عدد التعسفي من مربعات التحديد بسيطة:
<select name="options1">
<option value="option1">option1</option>
<option value="option2">option2</option>
...
</select>
<select name="options2">
<option value="option1">option1</option>
<option value="option2">option2</option>
...
</select>
هل هناك أي طريقة لإرسال واسترداد ما بعد عن طريق مجموعة من مربعات التحديد أو ينبغي أن أحاول الوصول إلى كل حدد مربع الخيارات المسماة (عدد) حتى أنه فشل؟ يبدو قليلا القذرة.
وأنا يجب أن تكون قادرة على تقديم إجراءات ل"حذف هذا الإطار حدد" أو "إنشاء حدد مربع جديد" لذلك أنا بحاجة إلى طريقة للتمييز بين مربعات التحديد.
المحلول
ومجرد إعطاء اختيار العناصر نفس الاسم.
وأشكال HTML ليس لها مفهوم "مجموعة". كل مكتبة التعامل مع النموذج الذي يعالج صفائف من البيانات المدخلة يولد لهم من اسم وجود قيم متعددة:
foo=bar&foo=baz&aDifferentField=fizzbuzz
وهذا هو ما حدد متعددة (اسمه فو) مع اثنين من القيم المحددة سوف تولد (عندما يكون هناك "aDifferentField" في شكل أيضا).
وأحيانا هناك الفقرات الشرطية المعنية.
CGI.pmوبيرل يحتاج طلب البيانات إلى أن يكون في سياق القائمة:
my @foos = $cgi->param('foo');
وPHP يتطلب اسم لانهاء مع الشخصيات [] '
name="foo[]"
foo[]=bar&foo[]=baz&aDifferentField=fizzbuzz
و... ولكن يأتي كل ذلك إلى أسماء هي نفسها (على الرغم من معرفات يجب أن يكون لا يزال مختلفة).
وأما بالنسبة للحذف:
<label for="foo5">Group 5</label>
<select name="foo" id="foo5">
<option value="delete_foo5">Delete this group</option>
<option value="1">1</option>
<option value="2">2</option>
</select>