2 boutons pour 1 form

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : 2 boutons pour 1 form

par TwiSeft » 12 févr. 2005, 11:43

Ouais le plus simple c'est de mettre:
if ($_POST['visualisation']) { 
ce que tu veux faire avec visualisation
} 
if ($_POST['enregistrement']) { 
ce que tu veux faire avec enregistrement
} 
Par contre il ne faut pas oublier de mettre dans value="":
if (isset($_POST['_nom_'])) echo stripslashes(htmlentities(trim($_POST['_nom_']))); ?>
Sinon le client va être obligé de réecrire ce qu'il vient de taper.

par crab » 11 févr. 2005, 13:40

Ouais c'est vrai que c'est plus propre que de ce fier au variable des boutons... et certainement plus sur, car je ne sais pas vraiment si tout les browser envoie de la meme manière les boutons...

(J'ai pas du etre clair, désolé... j'ai faim ;-)

par Cyrano » 11 févr. 2005, 10:08

Salut,
voilà ce que j'utilise pour faire ça, il me semble que c'est le plus simple pour utiliser deux (ou +) boutons "submit" :

Code : Tout sélectionner

<input type="hidden" name="traitement" id="traitement" value="" /> <input class="action" type="submit" onclick="document.forms['commande'].elements['traitement'].value='caisse'" name="commander" id="commander" title="Cliquez pour confirmer votre commande" value="Confirmer la commande" /> <input class="action" type="submit" onclick="document.forms['commande'].elements['traitement'].value='recalculer'" name="recalcul" id="recalcul" title="Cliquez pour mettre à jour le bon de commande" value="Mettre à jour le panier" /> <input class="action" type="reset" name="refaire" id="refaire" title="Cliquez pour annuler les dernières modifications" value="Annuler les modifications" />
à partir de là, je récupère la valeur de l'input "hidden" pour choisir le traitement à effectuer, dans le cas illustré ici, recalculer un bon de commande et le ré-afficher ou bien confirmer une commande et valider le formulaire.
Bon code :)

par crab » 10 févr. 2005, 18:38

Hello,

Le plus simple serai d'effectuer les 2 affichages sur la meme page en différenciant le traitement avec un if sur le name du bouton (voir http://www.phpfrance.com/forums/ftopic126.php )

Sinon avec un peu de JavaScript tu dois pouvoir t'en sortir avec ton idée de base, soit de modifier la page de traitement selon le bouton cliqué.

Code : Tout sélectionner

<script language="javascript"> function envoyer_form(pageTraitement) { document.leNomDuForm.action = pageTraitement; document.leNomDuForm.submit(); } </script> <form name="leNomDuForm action=""> ... <input type="button" name="affiche_tout" value="TOUT AFFICHER" onClick="envoyer_form('tout_afficher.php')"> <input type="button" name="stat" value="STATS" onClick="envoyer_form('stats.php')"> </form>
Mais la 1er solution est mieux je trouve...

A+

EDIT: le name des boutons était pas adapté...

2 boutons pour 1 form

par momo94 » 10 févr. 2005, 18:07

Bonjour,
J'ai un formulaire avec plusieurs champs à remplir. Je voudrais que ce formulaire serve pour (1er bouton) afficher tous les enregistrements selectionnés et (2eme bouton) serve pour afficher les statistiques sur les champs sélectionnés. Comment peut on lui indiquer le bon fichier php selon que l'on clique sur l'un ou l'autre des boutons.

Merci