siriu Posté 26 Octobre 2010 Posté 26 Octobre 2010 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">
Ernestine Posté 26 Octobre 2010 Posté 26 Octobre 2010 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.
SStephane Posté 28 Octobre 2010 Posté 28 Octobre 2010 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'])){ //...}
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant