„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Formular-ID abrufen. Es ist nicht das, was Sie denken

Formular-ID abrufen. Es ist nicht das, was Sie denken

Veröffentlicht am 08.11.2024
Durchsuche:545

Getting form id. It is not what you think

Ich hatte einen Fall, in dem ich diese Form hatte:

Und ich habe versucht, seine ID mit Javascript abzurufen:

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

Dies führte jedoch zur Rückgabe von:

   
Stattdessen

HTMLElement. Um dieses Problem zu entschärfen, habe ich stattdessen die getAttribute-Funktion verwendet:

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

Wo ich es verwendet habe

Auf den ersten Blick scheint das Beispiel das Problem irgendwie irrelevant zu sein. Aber in meinem Fall habe ich eine Hilfsbibliothek entwickelt, bei der ein HTMLElement als Argument empfangen wurde:

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
}

In meinem Fall habe ich diese Funktion verwendet, um eine Logik für die Formularaktivierung zu platzieren, und weil eine versteckte Eingabe mit der Namens-ID als Eingabefeld in meinem Formular verwendet wurde, konnte die Schaltfläche nicht abgerufen werden.

Deshalb habe ich stattdessen Folgendes getan:

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
}

Stellen Sie sicher, dass ich das ID-Attribut bezüglich der Eingabe und deren Namen erhalten habe, die in meinem Formular vorhanden sind.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1 Bei Verstößen wenden Sie sich bitte an [email protected] um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3