Confirm() sur un bouton submit : stopper l'execution si clic sur "annuler"

Répondre
burnedsoul
burnedsoul
Déconnecté
Webmaster de Clikmag http://www.clikmag.fr
Bonjour à tous.
Une nouvelle problématique ^^
J'ai un bouton submit qui valide un formulaire.
Seulement j'aimerais y adjoindre une confirmation, que j'effectue via "confirm()" qui m'affiche une boite de dialogue avec "OK" ou "Annuler".

  1. if (confirm("Etes vous sûr ?")) submit();
  2. else // Empêcher le submit ???
  3.  


Le souci c'est que j'ai besoin de tester si mon bouton subit à été isset en PHP (via if (isset($_POST['bouton'])) ... actions)
sinon j'aurais utilisé un bouton ^^

Donc comment effectuer un "break" afin d'éviter le submit du formulaire si je click sur annuler ?

Ou sinon, auriez vous une solution alternative qui permet de tester le click sur un bouton via un isset PHP ? Dans ces cas là j'utiliserais biensûr un <input type='button'> ^^

Merci d'avance ^^
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Personnellement, je fais ainsi :

  1. confirmation = confirm('Etes vous sur ?');
  2. if (confirmation) {
  3. // bla bla
  4. } 


Et pas de else donc.
diablo
diablo
Déconnecté
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
moi je fais un type=button, plutot qu'un submit, et je valide le formulaire manuellement.

Par contre quand le js est off :s
burnedsoul
burnedsoul
Déconnecté
Webmaster de Clikmag http://www.clikmag.fr
La présence du JS est rendue "obligatoire" dans mon appli, donc pas de souci de ce côté là.

Comment j'ai précisé plus haut, je dois tester le isset du bouton, voilà pourquoi j'utilise le submit :s

Pour LaGlobule, lorsque je test si le bouton est isset, même lorsqu'il click sur annuler, le bouton est isset (puisqu'il a submit le formulaire), du coup c'est pas bon :s

Une autre idée ?
Merci en tout cas ^^
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Je comprend rien à ton histoire de isset, on fait du javascript la non ?

Chez moi, ce que je t'ai passé fonctionne sur un lien.
Il faudrait que tu nous montres ton HTML. Tu fais ça sur un onclick ?
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel.
Où est la difficulté ?

  1. <form onsubmit="return confirm('T\'es sûr coco ?')"></form> 


Bien évidemment, s'il faut faire plus de tests :
  1. <form onsubmit="return testAtSubmit(this)"></form> 


Avec une fonction javascript qui prend en paramètre un DOMElement (FormElement plus précisément) et retourne true ou false selon que les tests se passent bien ou non.

À savoir que je ne suis pas partisan de la méthode qui consiste à utiliser les attributs on*. Pour des raisons de visibilité principalement. Je préfères privilégier un gestionnaire d'événements. Plus propre et plus puissant.
burnedsoul
burnedsoul
Déconnecté
Webmaster de Clikmag http://www.clikmag.fr
Ouaip en effet je fais ça "salement" sur un onclick() ^^

Je suis intéressé par cet histoire de gestionnaire d'évènements. Là où je pêche, c'est comment le mettre en place, notamment, comment simuler un "observateur" qui va remplacer ces on* ?
burnedsoul
burnedsoul
Déconnecté
Webmaster de Clikmag http://www.clikmag.fr
Désolé pour le double post, dommage qu'on ne puisse pas éditer :s

Pour faire court et simple. J'ai un formulaire à renseigner de façon dynamique.

En gros une suite de select qui lorsqu'elle sont renseignées vont permettre de construire d'autres select.
Le formulaire fonctionne selon des "billets" que l'on ajoute/supprimme à loisir afin d'effectuer une liste de billets que l'on valide à la fin.

Genre une select avec une liste de marques automobiles, qui va ensuite permettre d'aller chercher uniquement les autos de marque Ford par exemple.
Cela fait un billet, maintenant on peut, ou non, ajouter un autre billet concernant un autre véhicule.

Du coup mon formulaire général est souvent submitté. Et pour corser le tout, il faut que certains paramètres du billet obéisse à plusieurs contraintes (impossible de valider la liste de billets si l'on est en train de créer un billet, pas possible de valider un billets si certaines conditions ne sont pas remplies, etc ...)

Actuellement, je trouve mon système très barbare bien que fonctionnel, et j'aimerais grandement l'améliorer par la suite, là j'ai du "bricoler" par contrainte de temps :s
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php