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

150
Views
Actualizar campo después de cambiar su valor con JavaScript

Me gustaría simular la entrada del usuario en un sitio web usando JavaScript. Para hacerlo, simplemente hago algo como esto:

 a = document.getElementsByClassName('field-name')[0]; a.value = 'new value';

Sin embargo, en algunos sitios web que requieren que haga clic en "Enviar" después de la entrada, el botón permanece inactivo (perdón por no proporcionar el ejemplo, los únicos sitios con esa característica que conozco requieren iniciar sesión).

Recuerdo que una vez solucioné ese problema "Actualizando" el elemento después, pero no recuerdo exactamente cómo. He intentado agregar esto:

 const change = new InputEvent('change'); a.value = 'new value'; const isNotCancelled = a.dispatchEvent(change);

Pero no hay suerte aquí. ¿Alguna idea de cómo superar esto?

Actualización: solo como ejemplo: aquí hay un sitio web que hace lo que describí. Simplemente haga clic en el ícono de chat en la parte inferior derecha e ingrese cosas aleatorias para el correo electrónico, etc., luego verá el cuadro de entrada con el botón que describí.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El tipo de InputEvent debe ser beforeinput o input ( input , en su caso), no change ; también podría considerar disparar un Event con el type establecido en "change" (no hay un constructor ChangeEvent específico). Para el evento de input , asegúrese de configurar bubbles: true ya que el valor predeterminado para el constructor es false , pero los eventos de input son burbujas (los eventos de change no lo hacen, aunque algunas bibliotecas hacen que lo hagan). También es posible que deba blur el campo y puede focus al principio (para que el blur haga algo).

Por ejemplo:

 const a = document.getElementsByClassName("field-name")[0]; // Or: const a = document.querySelector(".field-name"); a.focus(); a.value = "new value"; a.dispatchEvent(new InputEvent("input", {bubbles: true, cancelable: true})); a.dispatchEvent(new Event("change", {bubbles: false, cancelable: true})); a.blur();

Si ninguno de esos funciona, busque el botón y configure su disabled en false .

about 4 years ago · Juan Pablo Isaza Report
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!