اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله وبركاته، 

أريد ان يشرح لي أحد كود الحلقة باالرابط المرفق

 أظنه حل لسؤال سابق لي، فأنا اريد تنفيذ الكود الرئيسي للمشروع بـ PHP فقط بدون كتابة أكواد جافا سكربت لاني لا اعلم عنها شيئا في الوقت الحالي. 

 

Recommended Posts

  • 1
نشر

إن كنت تحاول إظهار مجموعة حقول بناء على الخيار الذي يحدده المستخدم من قائمة خيارات المنسدلة فهذا تلاعب في شجرة الوثيقة ومن مستحيل عمل ذلك بدون الجافاسكربت ﻷن جافاسكربت وجدت لدعم هاته التفاعليات والتلاعبات.
مثال: 

  • اذا قام المستخدم بتحديد خيار جواز سفر يتم إظهار حقلي رقم جواز السفر ورقم التأشيرة. 

ولذلك فإن العملية نظريا وعمليا مستحيلة بالإستغناء عن جافاسكربت، وما يقوم به صاحب الشيفرة في الرابط المرفق هو ليس تلاعبا في شجرة الوثيقة بعد تحميل موارد الصفحة، بل هو ضبط شرطي للإعدادات الإفتراضية التي تكون عليها قائمة الخيارات. 

مثال: 

  • لنقل أن مستخدما ما يريد تعديل حالته من "صاحب شركة ناشئة" إلى "عامل حر". بعد أن يتوجه هذا المستخدم إلى صفحة التعديل نحتاج افتراضيا ضبط الخيار الافتراضي الذي قام بتحديده سابقا. 

وبالتالي فإننا قبل أن نضع خاصية selected على أي من الخيارات، نحتاج إضافة شرط تطابق قيمة الخيار مع حالة المستخدم:

<select name="userStatus">
   
  <option value="startup" @if($user->status == 'startup') selected @endif>شركة ناشئة</option>
  <option value="freelancer" @if($user->status == 'freelancer') selected @endif>عامل حر</option>
   
</select>

وهذا ببساطة إستعمال من بين العديد من الإستعمالات التي تجهمعها الشيفرة الموضحة. 

في حالة ما أردت القيام بذلك بـ PHP فقط فيمكنك كاقتراح عمل ثلاث صفحات تحتوي ثلاث نماذج حيث: 

  • الصفحة الأولى تحوي نموذجا يتم من عليه اختيار نوع العميل. 
  • تستقبل الصفحة الثانية خرج الصفحة الأولى وتقوم بعرض القائمة المنسدلة التالية:
    
        @foreach ($formhandler['guest_form_types[citizen]'] as $guest_type => $value)
        echo '<option value=' {{$guest_type}} '>'  {{$value}} '</option>'
        @endforeach 
  • تستقبل الصفحة الثالثة خرج الصفحة الثانية وتقوم بعرض حقلي جواز السفر ورقم التأشيرة بناء على النتيجة المستقبلة. 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...