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

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

Susan Sarandon
Susan SarandonOriginal
2024-10-02 18:18:29520Durchsuche

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>

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:

   <input type="hidden" name="id" />

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'))

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
}

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
}

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!

Stellungnahme:
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