siriu Posted October 26, 2010 Share Posted October 26, 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"> Link to comment Share on other sites More sharing options...
Ernestine Posted October 26, 2010 Share Posted October 26, 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. Link to comment Share on other sites More sharing options...
SStephane Posted October 28, 2010 Share Posted October 28, 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'])){ //...} Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now