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

305
Views
Cómo detener el script cuando termino por primera vez, JavaScript

¡todo el mundo! He estado trabajando en un proyecto en JavaScript, generalmente enviando solicitudes al servidor usando ajax. Quiero mostrar un mensaje de confirmación y permitir que el usuario presione el botón continuar para continuar con la solicitud. Cuando ejecuto el primer clic que muestra el cuadro de diálogo de confirmación, el script se ejecuta correctamente una vez. Sin embargo, cuando intento hacer clic en el botón nuevamente, la secuencia de comandos se ejecuta dos veces y sigue aumentando la cantidad de veces que hago clic en el botón Enviar, solo se ejecuta correctamente cuando actualizo la página. En realidad, el primer clic es en una función de clic que invoco en cada resultado diferente devuelto por el script PHP y necesito la identificación para enviar una solicitud en su contra. Estoy buscando una manera en la que pueda borrar la ejecución del script y dejar que comience de nuevo cada vez que haga clic en el botón Enviar. Aquí está la muestra:

 ... function removePerson(id) { $("#confirmDialog").show(function(){ $("#confirm").click(function(){ $.post('server/process.php'{id:id}); }); }

Por favor, realmente necesito su ayuda con esto.

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

0

El problema es que está adjuntando un nuevo controlador de eventos al botón de confirmación en cada llamada a removePerson . Puede usar .off("click") para eliminar el controlador de eventos anterior antes de registrar uno nuevo. Algo como esto debería funcionar:

 function removePerson(id) { $("#confirmDialog").show(); $("#confirm").off("click").on("click", function() { $.post("server/process.php", { id: id }); // just for the demo console.log(id); $("#confirmDialog").hide(); }); }
 #confirmDialog { display: none; padding: 20px; background: #eee; margin-bottom: 10px; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="confirmDialog"> Remove person? <button id="confirm">confirm</button> </div> <button onclick="removePerson(1)">remove ID 1</button> <button onclick="removePerson(2)">remove ID 2</button> <button onclick="removePerson(3)">remove ID 3</button>

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!