Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda