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