Sweet Alerte de confirmation avant de supprimer
Salut, je suis nouveau dans l'utilisation de sweet alerte js pour faire ma boîte d'alerte plus de fantaisie. Je suis en utilisant le javascript normale d'alerte de confirmation pour supprimer des données spécifiques dans ma table. Cependant lorsque j'essaie d'exécuter une douce alerte de confirmation avant de supprimer supprime les fichiers sans la confirmation d'apparaître.
Voici le code dans mon JS ci-dessous.
<script>
archiveFunction() {
swal({
title: "Are you sure?",
text: "But you will still be able to retrieve this file.",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, archive it!",
cancelButtonText: "No, cancel please!",
closeOnConfirm: false,
closeOnCancel: false
},
function(isConfirm){
if (isConfirm) {
swal("Deleted!", "Your imaginary file has been archived.", "success");
} else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
}
});
}
</script>
c'est mon code html du formulaire ci-dessous.
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="hidden" name="p_id" id="p_id" value="<?php echo $rows['p_id']; ?>">
<button class="btn btn-danger" type="submit" name="archive" onclick="archiveFunction()">
<i class="fa fa-archive"></i>
Archive
</button>
</form>
et voici le code en php.
<?php
include('../config.php');
if(isset($_POST['archive']))
{
$p_id = $_REQUEST['p_id'];
//sql to delete a record
$sqli = "UPDATE students SET archive = 2 WHERE p_id=$p_id";
if ($conn->query($sqli) === TRUE) {
echo "swal('Archived!', 'Click ok to see!', 'success')";
} else {
echo "Error Archiving record: " . $conn->error;
}
$conn->close();
}
?>
ce que je veux est de confirmer la douce alerte de confirmation avant de supprimer les données spécifiques.
Vous devez vous connecter pour publier un commentaire.
Que d'autres mentionné, votre bouton est de soumettre le formulaire à l'action spécifiée et vous n'êtes pas en mesure de choisir votre option dans l'alerte. Donc, vous devriez éviter de la soumettre le formulaire en utilisant
event.preventDefault()
et de la soumission du formulaire uniquement lorsque l'utilisateur appuyez sur oui.JS:
HTML:
action="<?php echo $_SERVER['PHP_SELF']; ?>"
montre que vous êtes à l'aide de l'action.Supprimer
<form>
et remplacer:à:
appel onclick fonction de la "ajax_delete" par
Après cela, mettez votre code de suppression à l'appel ajax fichier.
Ce qui se passe parce que vous n'êtes pas empêcher le comportement par défaut du navigateur à l'aide de
événement.preventDefault()
oureturn
soit avecfalse
outrue
en conséquence.Changement,
à,
pour transmettre l'événement argument pour les écouteurs d'événement.
Sinon si le
form
n'est pas nécessaire, alors vous pouvez simplement supprimer leform
balises.Ce supprimer le code de confirmation avec le sucré des alertes dans l'express js
Mon code:
JS:
HTML: