Formulaire avec 2 boutons submit

WRInaute passionné
Salut à tous,

J'espère que tout le monde n'est pas encore à la plage :mrgreen:

J'ai un formulaire html avec une méthode POST et dans ce formulaire j'ai 2 boutons submit, je voudrais qu'en cliquant sur l'un de ces boutons ça me renvoie vers une url (avec les données du form) et qu'en cliquant sur l'autre bouton ça me renvoie vers une autre url (avec les données du form), est-ce possible ?

J'ai essayé ce bout de code mais ça fonctionne pas :

Code:
<form method="post" name="mon_formulaire">
<input type="checkbox" name="produit[]" value="produit 1" />
<input type="checkbox" name="produit[]" value="produit 2" />
<input type="checkbox" name="produit[]" value="produit 3" />
<input type="checkbox" name="produit[]" value="produit 4" />
<input type="checkbox" name="produit[]" value="produit 5" />
<input type="submit" onClick="javascript:document.location=''url_1.php";" name="comparer" value="Comparer >>" />&nbsp;&nbsp;&nbsp;<input type="submit" onClick="javascript:document.location=''url_2.php";" name="acheter" value="Acheter >>" />
</form>

Merci pour vos réponses.
 
WRInaute accro
De façon simple un formulaire avec un bouton et tes champs visibles plus un second formulaire avec des champs hidden qui sont mis a jours en JS depuis les champs visibles.
Sinon côté serveur il doit être possible de récupérer la value du submit et en fonction de ça inclure un script ou un autre pour le traitement.
Dernière option côté client, ne pas mettre de submit mais des button qui enclenchant un JS qui va renseigner le action du form avant de faire un submit();
 
WRInaute passionné
Meri Zeb pour tes solutions.

Si je retiens ta solution "simple" (2 formulaires avec des champs cachés pour le deuxième) quel serait le code javascript qui te permet de mettre à jour les champs hidden depuis les champs visibles, là je vois pas ?
 
WRInaute passionné
Merci Blount c'est pile poil ce que je voulais faire, je vais donc m'inspirer de ton script :) et cette après-midi c'est plage :lol:
 
WRInaute accro
Il y a un cas pas cité dans ton exemple (enfin pas développé) c'est d'attribuer une propriété name identique a chaque bouton ce qui fait que les tests se font sur la value de $_POST['mon_name_submit']. j'ai pas testé mais ça peu peut être résoudre certains conflit IE puisque je pense qu'une value sera transmise dans tous les cas.
 
WRInaute accro
Tu peux aussi mettre deux form dans la meme page (sans recours au type hidden) et ca donne ca :

http://www.qui-est-le-meilleur.com/register_connect.php

avec donc deux boutons (se connecter et confirmer l 'inscription) avec chacun leur script php specifique ...

oups sorry : lu en diagonal et en relisant je pige que les deux form ne sont pas la réponse puisque ... c'est pas la question :mrgreen:
 
WRInaute impliqué
zeb a dit:
Il y a un cas pas cité dans ton exemple (enfin pas développé) c'est d'attribuer une propriété name identique a chaque bouton ce qui fait que les tests se font sur la value de $_POST['mon_name_submit']. j'ai pas testé mais ça peu peut être résoudre certains conflit IE puisque je pense qu'une value sera transmise dans tous les cas.

Je n'ai pas tester cette solution. Le problème, c'est que la valeur peut être variable (multi lingue, erreur orthographe, etc.) alors que la valeur de l'attribut "name" est fixe à tout les coups.
 
WRInaute impliqué
Bah justement, dans le cas d'un site multilingue, le texte peut être "Sauvegarder" en français et "Save" en anglais. Ça reste exploitable, mais c'est quand même plus pratique de se baser sur une valeur certaine. Le "name" est sur de ne pas changer.

Sinon, je viens de tester et ça fonctionne.
PHP:
<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />if </span><span class="syntaxkeyword">(!empty(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    var_dump</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br />    <head></head><br />    <body><br />        <form action="" method="post"><br />            <input type="submit" name="test" value="Enregistrer" /><br />            <input type="submit" name="test" value="Annuler" /><br />        </form><br />    </body><br /></html><br /></span>

Testé sous Firefox. À voir sous IE ...
 
WRInaute accro
Blount a dit:
Bah justement, dans le cas d'un site multilingue, le texte peut être "Sauvegarder" en français et "Save"
Mon dieu va falloir mettre un opérateur OU dans la condition ! :D :wink:
Sinon un site multilingue bien fait ce genre de message est dans une variable qui contiens la chaine de carac en fonction de la langue utilisée ; -)

A ses codeurs faut tout leur dire.

Je plaisante bien sur le prend pas mal. :wink:

edit -> j'aurais bien testé sous IE par curiosité mais j'ai pas en natif sur la machine, bref c'est compliqué pour pas grand chose
 
Discussions similaires
Haut