"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Obteniendo la identificación del formulario. No es lo que piensas

Obteniendo la identificación del formulario. No es lo que piensas

Publicado el 2024-11-08
Navegar:808

Getting form id. It is not what you think

Tuve un caso en el que tenía este formulario:

Y traté de recuperar su ID usando javascript:

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

Pero esto resultó en devolver el:

   

HTMLElement en su lugar. Por lo tanto, para mitigar este problema utilicé la función getAttribute:

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

donde lo usé

A primera vista, el ejemplo parece un poco irrelevante. Pero en mi caso estaba desarrollando una biblioteca de utilidades en la que se recibió un HTMLElement como argumento:

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
}

En mi caso utilicé esta función para colocar una lógica para habilitar el formulario y porque una entrada oculta con ID de nombre era como campo de entrada en mi formulario. No se pudo recuperar el botón.

Por lo tanto, en lugar de eso hice:

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
}

Asegurarme de haber recibido el atributo id con respecto a la Entrada y sus nombres que existen dentro de mi formulario.

Declaración de liberación Este artículo se reproduce en: https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3