मेरे पास एक मामला था जिसमें मेरे पास यह फॉर्म था:
और मैंने जावास्क्रिप्ट का उपयोग करके इसकी आईडी पुनर्प्राप्त करने का प्रयास किया:
const form = document.getElementById("#hello") console.log(form.id)
लेकिन इसके परिणामस्वरूप वापसी हुई:
इसके बजाय HTMLElement। इस प्रकार इस समस्या को कम करने के लिए मैंने इसके बजाय 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 }
यह सुनिश्चित करना कि मुझे मेरे फॉर्म के अंदर मौजूद इनपुट और उनके नामों के संबंध में आईडी विशेषता प्राप्त हुई है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3