"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > الحصول على معرف النموذج هذا ليس ما تعتقده

الحصول على معرف النموذج هذا ليس ما تعتقده

تم النشر بتاريخ 2024-11-08
تصفح:259

Getting form id. It is not what you think

كان لدي حالة كان لدي فيها هذا النموذج:

وحاولت استرداد المعرف الخاص به باستخدام جافا سكريبت:

const form  = document.getElementById("#hello")
console.log(form.id)

ولكن أدى ذلك إلى إرجاع:

   

HTMLlement بدلاً من ذلك. وبالتالي، من أجل التخفيف من هذه المشكلة، استخدمت وظيفة getAttribute بدلاً من ذلك:

const form  = document.getElementById("#hello")
console.log(form.getAttribute('id'))

حيث استخدمته

في البداية اعتقدت أن المثال يبدو أن المشكلة غير ذات صلة نوعًا ما. ولكن في حالتي كنت أقوم بتطوير مكتبة مساعدة تم تلقي HTMLElement كوسيطة:

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.id
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}

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

لذلك قمت بدلاً من ذلك بما يلي:

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.getAttribute('id');
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}

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

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3