"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Obtendo o ID do formulário. Não é o que você pensa

Obtendo o ID do formulário. Não é o que você pensa

Publicado em 2024-11-08
Navegar:215

Getting form id. It is not what you think

Tive um caso em que tinha este formulário:

E tentei recuperar seu ID usando javascript:

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

Mas isso resultou no retorno de:

   

HTMLElement em vez disso. Portanto, para mitigar esse problema, usei a função getAttribute:

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

Onde eu usei

À primeira vista, o exemplo parece um pouco irrelevante. Mas no meu caso eu estava desenvolvendo uma biblioteca utilitária que recebia um 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
}

No meu caso, usei esta função para colocar uma lógica para habilitação do formulário e porque uma entrada oculta com nome id estava como campo de entrada no meu formulário. O botão não foi recuperado.

Portanto, em vez disso eu fiz:

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
}

Garantindo que recebi o atributo id referente ao Input e seus nomes que existem dentro do meu formulário.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3