Webmaster Hub: 2 actions différentes pour un même formulaire - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

2 actions différentes pour un même formulaire

#1 L'utilisateur est hors-ligne   siriu 

  • Groupe : Actif
  • Messages : 38
  • Inscrit(e) : 28-septembre 10

Posté 26 octobre 2010 - 20:21

Bonjour,

Je souhaiterai que dans un formulaire, l'utilisateur puisse avoir le choix entre deux boutons pour effectuer une action ou une autre.
J'ai essayé le code suivant et ça marche pas, pouvez vous m'aider ?

<input type="Button" onclick="window.document.form.action="toto.php";window.document.form.submit();" value="action1">
<input type="Button" onclick="window.document.form.action="titi.php";window.document.form.submit();" value="action2"> 


0

#2 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 26 octobre 2010 - 22:45

Salut,

Il y a pas mal de façons de résoudre ce problème. En voici une qui n'utilise pas de javascript.

Le principe est de définir un seul champ "action" et deux boutons "submit :
<input type="hidden" name="action" value="test" />
<input type="submit" name="submit" value="Action 1" />
<input type="submit" name="submit" value="Action 2" />

Ensuite pour le traitement du formulaire, le champ action te permet de savoir que le formulaire a été soumis, et un test sur $_REQUEST['submit'] te permet de savoir lequel des deux boutons 'submit' a été cliqué.

L'inconvénient, c'est que du coup, si tu modifies la valeur d'un des boutons submit, ben ça ne marche plus (ou alors il faut aussi modifier la partie traitement). Donc c'est assez moyen. Mais dans des cas simples ça peut servir.

Sinon tu peux effectivement récupérer quel bouton a été cliqué avec javascript.
0

#3 L'utilisateur est hors-ligne   SStephane 

  • Groupe : Fondateur
  • Messages : 460
  • Inscrit(e) : 06-février 09
  • Genre:Homme
  • Localisation:Grabels

Posté 28 octobre 2010 - 09:30

Voir le messageErnestine, le 26 octobre 2010 - 22:45, dit :

L'inconvénient, c'est que du coup, si tu modifies la valeur d'un des boutons submit, ben ça ne marche plus (ou alors il faut aussi modifier la partie traitement). Donc c'est assez moyen. Mais dans des cas simples ça peut servir.


Ta solution est plus que correcte, pour le souci que tu évoques, le mieux est alors de modifier l'attribut name du bouton de soumission et non sa valeur.

Pour contre siriu, le mieux est quand même de traiter ce formulaire dans le même fichier pour des raisons évidentes de relecture :

<input type="submit" name="Ajouter" value="Action 1" />
<input type="submit" name="Supprimer" value="Action 2" /> <!-- cette marque de lessive n'existe plus je crois-->



Donne un truc du genre :

if(isset($_POST['Ajouter']))
{
   //...
}
else if(isset($_POST['Supprimer']))
{
   //...
}


_AT_Montpellier
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

2 utilisateur(s) en train de lire ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)