Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

303
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda