Heim > Web-Frontend > js-Tutorial > Formular-ID abrufen. Es ist nicht das, was Sie denken

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

Susan Sarandon
Freigeben: 2024-10-02 18:18:29
Original
550 Leute haben es durchsucht

Getting form id. It is not what you think

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

<form id="hello">
   <input type="hidden" name="id" />
</form>
Nach dem Login kopieren

Und ich habe versucht, seine ID mit Javascript abzurufen:

const form  = document.getElementById("#hello")
console.log(form.id)
Nach dem Login kopieren

Dies führte jedoch zur Rückgabe von:

   <input type="hidden" name="id" />
Nach dem Login kopieren

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

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

Wo ich es verwendet habe

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

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
}
Nach dem Login kopieren

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 vorhanden war, 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
}
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonFormular-ID abrufen. Es ist nicht das, was Sie denken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage