Formulaire avec 2 boutons et liens différents suivant ce que l'on coche
8 réponses
elia
Bonjour,
Dans une page .php j'ai un formulaire de commande avec 2 boutons.
Un bouton (calcul) (name=3D=3D"submit")
pour calculer et afficher le montant total des achats suivant la
quantit=E9 choisis des articles (le lien se fait sur la m=EAme page :
commande.php) et
Un bouton (suite) (name=3D=3D"submit2")
pour poursuivre la commande, ...coordonn=E9es de l'Internaute.
Ce deuxi=E8me bouton pose probl=E8me car suivant si l'internaute coche
le bouton radio "Union europ=E9enne" ou pas le lien sera diff=E9rent.
(vers commande1.php ou vers commande2.php).
Dans ma page : commande.php j'ai donc
<script language=3D'Javascript'>
function setAction(name) {
<? $choix =3D$HTTP_POST_VARS['choix'];?>
if (name=3D=3D"submit")
document.forms[0].action=3D "commande.php"
else if (name=3D=3D"submit2")
if ($choix =3D "union")
document.forms[0].action=3D "commande1.php"
else
document.forms[0].action=3D "commande2.php"
}
</script>
Le r=E9sultat fait que je peux calculer sans probl=E8me mais pour le
bouton =AB suite =BB si je coche le =AB bonton radion =BB =AB autre =BB le
lien ne se fait pas sur la page commande2.php
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
newdb
elia wrote:
Bonjour, Dans une page .php j'ai un formulaire de commande avec 2 boutons. Le résultat fait que je peux calculer sans problème mais pour le bouton « suite » si je coche le « bonton radion » « autre » le lien ne se fait pas sur la page commande2.php Ou es le problème ? Merci de votre aide. Pascal
peut-être là :
if ($choix = "union")
remplacer par : if ($choix == "union")
-- @@@@@ E -00 comme on est very beaux dis ! ' `) / |_ =="
elia <joseph@pcl.ch> wrote:
Bonjour,
Dans une page .php j'ai un formulaire de commande avec 2 boutons.
Le résultat fait que je peux calculer sans problème mais pour le
bouton « suite » si je coche le « bonton radion » « autre » le
lien ne se fait pas sur la page commande2.php
Ou es le problème ? Merci de votre aide. Pascal
peut-être là :
if ($choix = "union")
remplacer par :
if ($choix == "union")
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|_ =="
Bonjour, Dans une page .php j'ai un formulaire de commande avec 2 boutons. Le résultat fait que je peux calculer sans problème mais pour le bouton « suite » si je coche le « bonton radion » « autre » le lien ne se fait pas sur la page commande2.php Ou es le problème ? Merci de votre aide. Pascal
peut-être là :
if ($choix = "union")
remplacer par : if ($choix == "union")
-- @@@@@ E -00 comme on est very beaux dis ! ' `) / |_ =="
elia
Merci mais si je remplace if ($choix = "union") par if ($choix == "union") en cliquant sur le bouton commande je ne pars même plus sur la page commande1.php comme précédemment mais je reste sur ma page. La question reste donc tjrs de savoir comment partir sur une page différente avec un choix de bouton radio dans un formulaire. Pascal
Merci mais si je remplace if ($choix = "union") par if ($choix ==
"union") en cliquant sur le bouton commande je ne pars même plus sur
la page commande1.php comme précédemment mais je reste sur ma page.
La question reste donc tjrs de savoir comment partir sur une page
différente avec un choix de bouton radio dans un formulaire. Pascal
Merci mais si je remplace if ($choix = "union") par if ($choix == "union") en cliquant sur le bouton commande je ne pars même plus sur la page commande1.php comme précédemment mais je reste sur ma page. La question reste donc tjrs de savoir comment partir sur une page différente avec un choix de bouton radio dans un formulaire. Pascal
ASM
Bonjour,
bonjour,
ce n'est pas toi à qui on a dit que calculer via JS était une mauvaise idée ?
Si à la place tu fais choisir le php du calcul par le JS ... on en revient à la case départ !
Rien ne t'empeche de faire calculer via JS (cf + bas), mais ... il faut que tout fonctionne *sans* JS
donc : tu envoies ton form au php *sans* artifice en javascript
Suivant le bouton submit cliqué sera envoyé ce bouton (sa value) (pas les autres submits, qui d'ailleurs porteront tous le même nom) le php par ses HTTP_POST analyse $monSubmit et sait alors réagir comme tu lui auras expliqué.
============================= idée pour calcul PHP seul ============================= Ne pas oublier de réaliser une fonction PHP : $checked() servant à checker le bon radio-bouton.
================================== une idée pour calcul en local et compatible calcul sur serveur ================================== Si JS activé l'appui sur [Calculer] ne va pas envoyer le form mais montrer le résultat. Si pas de JS, le form est envoyé au php qui fait le calcul et en ré-affiche le résultat
Dans les 2 cas, le bouton [Envoyer] fait faire le calcul au PHP
Le JS ne sert qu'à gagner un peu de temps (pas d'A & R au serveur) et à libérer le serveur (pas de calcul si, finalement, on ne commande pas)
<script type="text/javascript">
var quoi_faire = false;
function setAction() { if(!quoi_faire) { var f = document.forms[0]; var choisi = ''; for(var i=0; i<f.choix.length; i++) if(f.choix[i].checked) choisi = f.choix[i].value; if(choisi == 'union') calcul(); // fabriquer une fonction JS pour calculer else if(choisi == 'autre') calcul1(); // fabriquer l'autre fonction JS else calcul2(); // à fabriquer aussi } return quoi_faire; }
function calcul() { ... } function calcul1() { ... } function calcul2() { ... }
================= réponse au post =================
Dans une page .php j'ai un formulaire de commande avec 2 boutons.
Là y a rien qui peut fonctionner si le JS est désactivé.
Il faut virer le onsubmit de la balise form puisque ce sont les boutons de submit qui font le boulot !
pour poursuivre la commande, ...coordonnées de l'Internaute. Ce deuxième bouton pose problème car suivant si l'internaute coche le bouton radio "Union européenne" ou pas le lien sera différent. (vers commande1.php ou vers commande2.php).
Dans ma page : commande.php j'ai donc
<script language='Javascript'>
Nan ! de nan de non ! c'est :
<script type="text/javascript">
// écriture par PHP du dernier choix envoyé // que je sais pas à quoi il sert ici ? // normalement le PHP va simplement servir à checker // le radio-bouton qu'il faut
var choix = <?= $HTTP_POST_VAR['choix'] ?>;
function setAction(name) {
<? $choix =$HTTP_POST_VARS['choix'];?>
// Je ne comprends pas ce que ce php est censé faire ? // à supprimer ( mon idée) // voir correctif + bas
// tu oublies de récupérer la valeur // choisie (checked) aux boutons radios "choix"
if (name=="submit") document.forms[0].action= "commande.php" else if (name=="submit2" && choix == 'union')
document.forms[0].action = "commande1.php" : }
</script>
Dans mon formulaire j'ai :
<!-- on met au moins un action au form (celui par défaut) -->
Le résultat fait que je peux calculer sans problème
ben oui piske l'autre truc marche pô.
bouton « suite » si je coche le « bonton radio » « autre » le lien ne se fait pas sur la page commande2.php
Ou es le problème ? Merci de votre aide. Pascal
il manque la récup de ce choix (voir la soluce 2 pour savoir comment faire)
-- ASM
Bonjour,
bonjour,
ce n'est pas toi à qui on a dit que calculer via JS était une mauvaise
idée ?
Si à la place tu fais choisir le php du calcul par le JS ...
on en revient à la case départ !
Rien ne t'empeche de faire calculer via JS (cf + bas),
mais ...
il faut que tout fonctionne *sans* JS
donc : tu envoies ton form au php *sans* artifice en javascript
Suivant le bouton submit cliqué sera envoyé ce bouton (sa value)
(pas les autres submits, qui d'ailleurs porteront tous le même nom)
le php par ses HTTP_POST analyse $monSubmit et sait alors réagir comme
tu lui auras expliqué.
============================= idée pour calcul PHP seul
=============================
Ne pas oublier de réaliser une fonction PHP : $checked()
servant à checker le bon radio-bouton.
================================== une idée pour calcul en local
et compatible calcul sur serveur
==================================
Si JS activé l'appui sur [Calculer] ne va pas envoyer le form
mais montrer le résultat.
Si pas de JS, le form est envoyé au php qui fait le calcul et en
ré-affiche le résultat
Dans les 2 cas, le bouton [Envoyer] fait faire le calcul au PHP
Le JS ne sert qu'à gagner un peu de temps (pas d'A & R au serveur)
et à libérer le serveur (pas de calcul si, finalement, on ne commande pas)
<script type="text/javascript">
var quoi_faire = false;
function setAction() {
if(!quoi_faire)
{
var f = document.forms[0];
var choisi = '';
for(var i=0; i<f.choix.length; i++)
if(f.choix[i].checked) choisi = f.choix[i].value;
if(choisi == 'union')
calcul(); // fabriquer une fonction JS pour calculer
else if(choisi == 'autre')
calcul1(); // fabriquer l'autre fonction JS
else calcul2(); // à fabriquer aussi
}
return quoi_faire;
}
function calcul() { ... }
function calcul1() { ... }
function calcul2() { ... }
================= réponse au post
=================
Dans une page .php j'ai un formulaire de commande avec 2 boutons.
Là y a rien qui peut fonctionner si le JS est désactivé.
Il faut virer le onsubmit de la balise form puisque ce sont les boutons
de submit qui font le boulot !
pour poursuivre la commande, ...coordonnées de l'Internaute.
Ce deuxième bouton pose problème car suivant si l'internaute coche
le bouton radio "Union européenne" ou pas le lien sera différent.
(vers commande1.php ou vers commande2.php).
Dans ma page : commande.php j'ai donc
<script language='Javascript'>
Nan ! de nan de non ! c'est :
<script type="text/javascript">
// écriture par PHP du dernier choix envoyé
// que je sais pas à quoi il sert ici ?
// normalement le PHP va simplement servir à checker
// le radio-bouton qu'il faut
var choix = <?= $HTTP_POST_VAR['choix'] ?>;
function setAction(name) {
<? $choix =$HTTP_POST_VARS['choix'];?>
// Je ne comprends pas ce que ce php est censé faire ?
// à supprimer ( mon idée)
// voir correctif + bas
// tu oublies de récupérer la valeur
// choisie (checked) aux boutons radios "choix"
if (name=="submit")
document.forms[0].action= "commande.php"
else if (name=="submit2" && choix == 'union')
document.forms[0].action = "commande1.php" :
}
</script>
Dans mon formulaire j'ai :
<!-- on met au moins un action au form (celui par défaut) -->
ce n'est pas toi à qui on a dit que calculer via JS était une mauvaise idée ?
Si à la place tu fais choisir le php du calcul par le JS ... on en revient à la case départ !
Rien ne t'empeche de faire calculer via JS (cf + bas), mais ... il faut que tout fonctionne *sans* JS
donc : tu envoies ton form au php *sans* artifice en javascript
Suivant le bouton submit cliqué sera envoyé ce bouton (sa value) (pas les autres submits, qui d'ailleurs porteront tous le même nom) le php par ses HTTP_POST analyse $monSubmit et sait alors réagir comme tu lui auras expliqué.
============================= idée pour calcul PHP seul ============================= Ne pas oublier de réaliser une fonction PHP : $checked() servant à checker le bon radio-bouton.
================================== une idée pour calcul en local et compatible calcul sur serveur ================================== Si JS activé l'appui sur [Calculer] ne va pas envoyer le form mais montrer le résultat. Si pas de JS, le form est envoyé au php qui fait le calcul et en ré-affiche le résultat
Dans les 2 cas, le bouton [Envoyer] fait faire le calcul au PHP
Le JS ne sert qu'à gagner un peu de temps (pas d'A & R au serveur) et à libérer le serveur (pas de calcul si, finalement, on ne commande pas)
<script type="text/javascript">
var quoi_faire = false;
function setAction() { if(!quoi_faire) { var f = document.forms[0]; var choisi = ''; for(var i=0; i<f.choix.length; i++) if(f.choix[i].checked) choisi = f.choix[i].value; if(choisi == 'union') calcul(); // fabriquer une fonction JS pour calculer else if(choisi == 'autre') calcul1(); // fabriquer l'autre fonction JS else calcul2(); // à fabriquer aussi } return quoi_faire; }
function calcul() { ... } function calcul1() { ... } function calcul2() { ... }
================= réponse au post =================
Dans une page .php j'ai un formulaire de commande avec 2 boutons.
Là y a rien qui peut fonctionner si le JS est désactivé.
Il faut virer le onsubmit de la balise form puisque ce sont les boutons de submit qui font le boulot !
pour poursuivre la commande, ...coordonnées de l'Internaute. Ce deuxième bouton pose problème car suivant si l'internaute coche le bouton radio "Union européenne" ou pas le lien sera différent. (vers commande1.php ou vers commande2.php).
Dans ma page : commande.php j'ai donc
<script language='Javascript'>
Nan ! de nan de non ! c'est :
<script type="text/javascript">
// écriture par PHP du dernier choix envoyé // que je sais pas à quoi il sert ici ? // normalement le PHP va simplement servir à checker // le radio-bouton qu'il faut
var choix = <?= $HTTP_POST_VAR['choix'] ?>;
function setAction(name) {
<? $choix =$HTTP_POST_VARS['choix'];?>
// Je ne comprends pas ce que ce php est censé faire ? // à supprimer ( mon idée) // voir correctif + bas
// tu oublies de récupérer la valeur // choisie (checked) aux boutons radios "choix"
if (name=="submit") document.forms[0].action= "commande.php" else if (name=="submit2" && choix == 'union')
document.forms[0].action = "commande1.php" : }
</script>
Dans mon formulaire j'ai :
<!-- on met au moins un action au form (celui par défaut) -->
Oui, c'est bien moi qui a demandé un calcul en javascript, on m'a alors conseillé de le faire en php, ce que j'étais déjà fier d'avoir réussi.
Il s'agissait de faire la somme de 3 produits qui avait chacun un prix fixe et d'y ajouter les frais de ports que l'on choisissait dans un menu déroulant.
Cela donnait en retournant sur la même page et ceci avec le bouton calculer:
<? // Calcule du Prix $quantite1 = $HTTP_POST_VARS['quantite1']; $quantite2 = $HTTP_POST_VARS['quantite2']; $quantite3 = $HTTP_POST_VARS['quantite3'];
Suite à cela, dans le formulaire, il y a deux boutons radio, Union Européenne et Autres destinations, suivant lequel choisi on part en clicant sur le bouton "Suite" sur une des deux pages avec la variable php $montantfinal
Maintenant pour le calcul en javascript, cela me pose un autre problème. Je vais étudier tout cela ce week-end et te remercie vraiment pour ton aide, pascal
Merci ASM,
Oui, c'est bien moi qui a demandé un calcul en javascript, on m'a
alors conseillé de le faire en php, ce que j'étais déjà fier
d'avoir réussi.
Il s'agissait de faire la somme de 3 produits qui avait chacun un prix
fixe et d'y ajouter les frais de ports que l'on choisissait dans un
menu déroulant.
Cela donnait en retournant sur la même page et ceci avec le bouton
calculer:
<?
// Calcule du Prix
$quantite1 = $HTTP_POST_VARS['quantite1'];
$quantite2 = $HTTP_POST_VARS['quantite2'];
$quantite3 = $HTTP_POST_VARS['quantite3'];
Suite à cela, dans le formulaire, il y a deux boutons radio, Union
Européenne et Autres destinations, suivant lequel choisi on part en
clicant sur le bouton "Suite" sur une des deux pages avec la variable
php $montantfinal
Maintenant pour le calcul en javascript, cela me pose un autre
problème. Je vais étudier tout cela ce week-end et te remercie
vraiment pour ton aide, pascal
Oui, c'est bien moi qui a demandé un calcul en javascript, on m'a alors conseillé de le faire en php, ce que j'étais déjà fier d'avoir réussi.
Il s'agissait de faire la somme de 3 produits qui avait chacun un prix fixe et d'y ajouter les frais de ports que l'on choisissait dans un menu déroulant.
Cela donnait en retournant sur la même page et ceci avec le bouton calculer:
<? // Calcule du Prix $quantite1 = $HTTP_POST_VARS['quantite1']; $quantite2 = $HTTP_POST_VARS['quantite2']; $quantite3 = $HTTP_POST_VARS['quantite3'];
Suite à cela, dans le formulaire, il y a deux boutons radio, Union Européenne et Autres destinations, suivant lequel choisi on part en clicant sur le bouton "Suite" sur une des deux pages avec la variable php $montantfinal
Maintenant pour le calcul en javascript, cela me pose un autre problème. Je vais étudier tout cela ce week-end et te remercie vraiment pour ton aide, pascal
ASM
Merci ASM, [...]
Maintenant pour le calcul en javascript, cela me pose un autre problème. Je vais étudier tout cela ce week-end et te remercie vraiment pour ton aide, pascal
Pas besoin de bouton de calcul, un simple envoi doit suffire. (plus un petit bouton de confirmation ?)
Maintenant pour le calcul en javascript, cela me pose un autre
problème. Je vais étudier tout cela ce week-end et te remercie
vraiment pour ton aide, pascal
Pas besoin de bouton de calcul, un simple envoi doit suffire.
(plus un petit bouton de confirmation ?)
Maintenant pour le calcul en javascript, cela me pose un autre problème. Je vais étudier tout cela ce week-end et te remercie vraiment pour ton aide, pascal
Pas besoin de bouton de calcul, un simple envoi doit suffire. (plus un petit bouton de confirmation ?)