$_POST et if confirm JAVASCRIPT [Résolu/Fermé]

Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention - 20 janv. 2010 à 18:37 - Dernière réponse : Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention
- 21 janv. 2010 à 21:32
Bonjour,
J'utilise un formulaire pour permettre à l'utilisateur du site web de pouvoir modifier ses coordonnées.
A l'aide d'une requête sql j'affiche les infos du visiteur contenues dans ma base de données.
Là, il peut modifier ou supprimer les infos
Lorsqu'il clique sur modifier, ca envoi le formulaire vers une page de traitement qui fait un update grâce à la méthode POST du précédent formulaire.
S'il clique sur supprimer, alors cette même page de requête utilise le DELETE.
Jusque là tout va bien s'il clique sur modifier, ca modifie et s'il clique sur supprimer, ca supprime.
Mais pour assurer un peu plus de sécurité aux visiteurs étourdis, je voudrais que lorsqu'ils clique sur supprimer ou modifier, une fenêtre s'ouvre pour leur demander la confirmation de suppression ou de modification selon le bouton sur lequel ils ont cliqué.
J'ai testé la fonction if confirm (javascript) mais elle ne permet pas de transmettre le $_POST donc, ma page de traitement php m'indique que mes variables ne sont pas définies.
Si quelqu'un a la solution, je suis preneur.
Merci d'avance.
Afficher la suite 

7 réponses

avion-f16 18235 Messages postés dimanche 17 février 2008Date d'inscriptionContributeurStatut 30 décembre 2017 Dernière intervention - 20 janv. 2010 à 19:13
0
Utile
Ajoute un id sur ton champs et entre <head> et </head> :
<script type="text/javascript">
window.onload = function() {
    document.getElementById('idFormulaire').onsubmit = function() {
         return confirm('Voulez-vous vraiment supprimer les données ?');
    }
};
</script>
Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention - 20 janv. 2010 à 21:03
0
Utile
Ok mais sur quel champs ?
Peux-tu me donner un exemple de <form></form> pour que j'y voit plus clair.
Je dois ajouter un onclic sur le submit?
Désolé de te demander tout ca mais je suis très novice dans le javascript.
avion-f16 18235 Messages postés dimanche 17 février 2008Date d'inscriptionContributeurStatut 30 décembre 2017 Dernière intervention - 20 janv. 2010 à 22:41
0
Utile
C'est sur la balise form.
Tu sais ce qu'est un attribut ?
Il suffit d'ajouter l'attribut id avec une valeur, et de mettre sa valeur dans le getElementById du script JS.
Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention - 21 janv. 2010 à 21:05
0
Utile
ok je test
Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention - 21 janv. 2010 à 21:16
0
Utile
sa fonctionne parfaitement pour le premier formulaire.
Cependant, pour les suivants, ca ne me demande pas de confirmation.
Pour être plus preci, il y a plusieurs formulaires sur ma page. Ces formulaires sont créer automatiquement par un array en php et mysql.
Dans le code source de la page, je vois bien que la fonction se repète sur tous les boutons submit de tous les formulaires mais la fenetre de confirmation n'apparait que sur le premier.
Comment est-ce possible de corriger le problème?
avion-f16 18235 Messages postés dimanche 17 février 2008Date d'inscriptionContributeurStatut 30 décembre 2017 Dernière intervention - 21 janv. 2010 à 21:19
0
Utile
Si tu veux applique le teste sur tous les formulaires, essayes avec ça :
<script type="text/javascript">
window.onload = function() {
    formulaires = document.forms[];
    for(i = 0 ; i < formulaires.length ; i++) {
        document.forms[i].onsubmit = function() {
             return confirm('Voulez-vous vraiment supprimer les données ?');
        }
    }
};
</script>
Je n'ai pas testé mais ça devrait aller.
Rom190686 445 Messages postés mardi 29 avril 2008Date d'inscription 20 novembre 2015 Dernière intervention - 21 janv. 2010 à 21:32
0
Utile
C'est parfait, Merci beaucoup pour ton aide.