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

105
Vistas
Sweetalert AJAX falla

Intenté implementar SweetAlert2 en mi código, intenté llamar a una función desde el botón de activación sin éxito.

¿Alguna idea de cómo arreglar este código para que funcione?

 $(".delete").click(function () { swal({ title: 'Are you sure?', text: "You won't be able to revert this!", type: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then(function () { delete_post($(this).attr("id")); swal( 'Deleted!', 'Your file has been deleted.', 'success' ) }) }) });

la función llamada:

 function delete_post(id) { var info = {"delete_post_id":id}; $.post('index.php', info ).done(function( response ) { if(response["error"]) { $('#error').html(response["error"]); }else{ window.location = "index.php"; } }); }
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

escriba console.info(this); antes de entonces esta fila:

 delete_post($(this).attr("id"));

Creo que this es su función en ese entonces.

about 4 years ago · Santiago Trujillo Denunciar

0

Como dijo @Halil, es por this en su devolución de llamada desde la alerta, this no se refiere a su botón en la devolución de llamada, se refiere a la función de devolución de llamada en sí.

Asigne la identificación a una variable antes de mostrar la alerta para que pueda usarla en la devolución de llamada de la siguiente manera:

 $(".delete").click(function() { console.log('Delete button has been clicked...'); // get the id var id = $(this).attr("id")); swal({ title: 'Are you sure?', text: "You won't be able to revert this!", type: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then(function() { console.log('Confirm button clicked...'); // use the id we declared earlier delete_post(id); swal( 'Deleted!', 'Your file has been deleted.', 'success' ); }); }); function delete_post(id) { console.log('Deleting post...', id); var info = { "delete_post_id": id }; $.post('index.php', info) .done(function(response) { console.log('Completed request...', response); if (response["error"]) { $('#error').html(response["error"]); } else { window.location = "index.php"; } }); }

También agregué algo de depuración de console.log para que pueda ver lo que sucede cuando lo ejecuta en su navegador.

about 4 years ago · Santiago Trujillo 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