Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

275
Visualizações
¿Un botón de envío está llamando "onSubmit" para múltiples formularios no relacionados en la misma página?

Tengo una página con dos formularios. Un formulario principal y otro que se puede mostrar en un modal, completamente aislado del formulario principal en el DOM. No son hermanos ni ancestros ni nada. Ambos formularios tienen una función onSubmit y su propio botón con type=submit . Cuando hago clic en el botón Enviar en el formulario modal, también está llamando a la función de onsubmit para el formulario principal. No puedo encontrar la manera de evitar que esto ocurra.

El DOM se ve (muy aproximadamente) así:

 <body> <div id="app-root"> <...> <form onsubmit="submitMainForm"> <button type="submit"></button> </form> </...> </div> <div id="modal-root"> <...> <form onsubmit="submitModal"> <button type="submit"></button> </form> </...> </div> </body>

Los formularios no se superponen* (en el DOM, ver más abajo re. React) y los botones están en sus respectivos formularios.

Ambas funciones de envío están en la forma general:

 e => { e.preventDefault(); doRelevantSubmitActions(); }

Basado en algunas otras preguntas SO similares, también intenté dar a los botones diferentes valores de name o devolver false de las funciones onSubmit , pero nada parece evitar que el botón llame a ambas funciones.

Preferiría mantener el patrón type=submit en lugar de simplemente usar las funciones onclick , ya que viene con otra funcionalidad de QOL (como enviar un formulario a través de la tecla Intro)

* Mi única idea es que podría ser un problema de React. El formulario modal ES un elemento secundario del formulario principal en el árbol React, pero utiliza un Portal para el div modal-root para mantenerlos separados en el DOM real. No creo que el componente React esté relacionado con este problema, pero sentí que era una revelación importante.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda