Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!