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

214
Visualizações
¿Cómo cancelar el envío de un formulario sin evento de envío?

Estoy tratando de cancelar el envío de la página de inicio de sesión web de Microsoft ( https://login.microsoftonline.com ) usando extensiones de Chrome y principalmente javascript de vainilla.

Esta es la parte de content.js que es relevante (imagínese que el nombre de usuario se completó, actualizó la página de ingreso de contraseña después de recargar la extensión y ahora está haciendo clic en el botón de inicio de sesión):

 document.body.addEventListener('click', function(e){ form = document.querySelector('form') form.removeAttribute("data-bind"); form.setAttribute("onsubmit", "return false;"); }

La idea aquí es simplemente cancelar el envío del formulario, siempre que se haga clic en el botón de inicio de sesión.

Esto modificará efectivamente el DOM del formulario, al inspeccionar el formulario después de un clic (en cualquier parte de la página); sin embargo, al hacer clic en el botón de inicio de sesión, aún se activará el envío del formulario, enviando así la solicitud POST.

Después de muchas pruebas en direcciones separadas, llegué a la conclusión de que la solicitud de publicación real no se genera a través de un envío de formulario clásico, sino de un código personalizado que aún no he tenido tiempo de localizar.

Además, parece que el código JS del cliente de MS tiene prioridad sobre cualquier otra manipulación que mi código de extensión de Chrome intente insertar, por ejemplo, he intentado configurar todos los valores de entrada para que se vacíen justo al hacer clic en el inicio de sesión:

 document.body.addEventListener('click', function(e){ document.querySelectorAll("input").forEach( elem => {elem.value=""}); }

Mi mayor obstáculo en este momento es que quiero cancelar todos los eventos que están escuchando este botón de inicio de sesión, cada vez que se hace clic en él, e insertar mi propia lógica.

No sé si esto es técnicamente factible solo con vainilla, dado que el método principal para cancelar el envío de un formulario no parece funcionar aquí.

Por supuesto, si ve alguna otra dirección para cancelar el envío del formulario, me encantaría recibir cualquier idea que aún no haya pensado.

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