Formulaire web avec champs conditionnels
Résolu/Fermé
traderpierre
Messages postés
268
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2022
-
Modifié par jordane45 le 16/08/2015 à 01:55
traderpierre Messages postés 268 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 juin 2022 - 17 août 2015 à 17:28
traderpierre Messages postés 268 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 juin 2022 - 17 août 2015 à 17:28
A voir également:
- Formulaire web avec champs conditionnels
- Web dl ✓ - Forum Audio
- Formulaire de réclamation facebook - Guide
- Traduire une page web - Guide
- Alias du formulaire - Forum Programmation
- Web transfert - Télécharger - Téléchargement & Transfert
4 réponses
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié par jordane45 le 16/08/2015 à 02:03
Modifié par jordane45 le 16/08/2015 à 02:03
Bonjour,
Sur un SELECT ... ce n'est pas ONCLICK qu'on utilise .. mais ONCHANGE
https://www.w3schools.com/jsref/event_onchange.asp
De plus... je vois que tu utilises la syntaxe de JQUERY.... hors... je ne vois nul part dans ton code.. son import....
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Cordialement,
Jordane
Sur un SELECT ... ce n'est pas ONCLICK qu'on utilise .. mais ONCHANGE
https://www.w3schools.com/jsref/event_onchange.asp
De plus... je vois que tu utilises la syntaxe de JQUERY.... hors... je ne vois nul part dans ton code.. son import....
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Cordialement,
Jordane
traderpierre
Messages postés
268
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2022
2
16 août 2015 à 17:15
16 août 2015 à 17:15
Bonjour,
Merci pour ta réponse.
Avec onchange c'est idem, ça ne fonctionne pas !!!
De plus dans le code fourni il n'est fait aucune mention de la syntaxe de jQuery, je ne vois pas où tu as trouvé cela ???....
Merci pour ta réponse.
Avec onchange c'est idem, ça ne fonctionne pas !!!
De plus dans le code fourni il n'est fait aucune mention de la syntaxe de jQuery, je ne vois pas où tu as trouvé cela ???....
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
16 août 2015 à 19:00
16 août 2015 à 19:00
De plus dans le code fourni il n'est fait aucune mention de la syntaxe de jQuery, je ne vois pas où tu as trouvé cela ???....
Ben... en lisant le code tout simplement....
Quand on regarde les instructions utilisées .... il ne peut s'agir que de JQUERY... ce code n'est pas écrit en "pur" javascript !
Avec onchange c'est idem, ça ne fonctionne pas !!!
( Voir le point précédent concernant JQUERY)
Et donc... Normal que ça ne fonctionne pas !
Il te faut donc :
- Soit Inclure JQUERY à ta page
- Soit modifier le code pour le faire en "pur" javascript
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
16 août 2015 à 19:10
16 août 2015 à 19:10
Voici ton code transformé en "pur" javascript
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<title>Formulaire avec lignes conditionnelles</title>
</head>
<body>
<form>
<table border="0" cellpadding="3" cellspacing="0"
width="500">
<tbody>
<tr>
<td class="Normal-10NoirGrasDroite" align="right" width="208">Mode paiment</td>
<td class="Normal-10RougeGrasCentre" width="10"> </td>
<td class="Normal-9NoirGauche" width="280">
<span id="spryselect3">
<select name="mode_paiement" id="mode_paiement" onchange="btn_show_mode_paiement(this.value)" class="Normal-10NoirGrasGauche">
<option selected="selected">Sélectionnez votre mode de paiement</option>
<option value="Carte Bancaire ou PayPal">Carte Bancaire ou PayPal</option>
<option value="Virement">Virement Bancaire</option>
<option value="Chèque">Chèque</option>
</select>
</span>
</td>
</tr>
<tr id="paicbpp" style='display:none'>
<td class="Normal-10NoirGrasCentre" colspan="3" align="center" valign="middle">
ici futur formulaire de paiement PayPal et carte de crédit
</td>
</tr>
<tr id="paivir" style='display:none'>
<td class="Normal-10NoirGrasCentre" colspan="3" align="center" valign="middle">
Ici renseignement RIB
</td>
</tr>
<tr id="paieck" style='display:none'>
<td class="Normal-10NoirGrasCentre" colspan="3" align="center" valign="middle">
Ici établir le chèque à l'ordre de XXXX<br>et l'envoyer à cette adresse XXXX
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
<script type="text/javascript">
function btn_show_mode_paiement(choix_select){
var paicbpp = document.getElementById('paicbpp');
var paivir = document.getElementById('paivir');
var paieck = document.getElementById('paieck');
//On masque les trois TR
paicbpp.style.display='none';
paivir.style.display='none';
paieck.style.display='none';
//En fonction de l'élément choisi..on affiche le TR
switch(choix_select){
case 'Carte Bancaire ou PayPal':
paicbpp.style.display='';
break;
case 'Virement':
paivir.style.display='';
break;
case 'Chèque':
paieck.style.display='';
break;
}
}
</script>
traderpierre
Messages postés
268
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2022
2
Modifié par jordane45 le 17/08/2015 à 00:05
Modifié par jordane45 le 17/08/2015 à 00:05
Parfait, t'es super balèse
Je venait juste d'y arriver avec tes explications d'avant ce code, mais là c'est encore moins dense au niveau des lignes de code.
Juste une petite demande supplémentaire
J'ai rajouté des boutons radios et je souhaiterais que quant on clique sur autre montant, la ligne<tr id="trAutre_montant"> apparaisse uniquement uniquement dans ce cas.
et ce sera super parfait.
Merci par avance/
Voici mon nouveau code :
Je venait juste d'y arriver avec tes explications d'avant ce code, mais là c'est encore moins dense au niveau des lignes de code.
Juste une petite demande supplémentaire
J'ai rajouté des boutons radios et je souhaiterais que quant on clique sur autre montant, la ligne<tr id="trAutre_montant"> apparaisse uniquement uniquement dans ce cas.
et ce sera super parfait.
Merci par avance/
Voici mon nouveau code :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<title>Formulaire avec lignes conditionnelles</title>
<script type="text/javascript">
function btn_show_mode_paiement(choix_select){
var trPaypal = document.getElementById('trPaypal');
var trVirement = document.getElementById('trVirement');
var trCheque = document.getElementById('trCheque');
//On masque les trois TR
trPaypal.style.display='none';
trVirement.style.display='none';
trCheque.style.display='none';
//En fonction de l'élément choisi..on affiche le TR
switch(choix_select){
case 'Carte Bancaire ou PayPal':
trPaypal.style.display='';
break;
case 'Virement':
trVirement.style.display='';
break; case 'Chèque':
trCheque.style.display='';
break; }
}
</script>
</head>
<body>
<form>
<table border="0" cellpadding="3" cellspacing="0"
width="500">
<tbody>
<tr>
<td align="right" valign="top">Don
</td>
<td></td>
<td>
<table width="200">
<tbody>
<tr>
<td><label><input name="don"
value="20" id="don_0" type="radio">20
€</label></td>
</tr>
<tr>
<td><label><input name="don"
value="50" id="don_1" type="radio">50
€</label></td>
</tr>
<tr>
<td><label><input name="don"
value="100" id="don_2" type="radio">100
€</label></td>
</tr>
<tr>
<td><label><input name="don"
value="0" id="don_3" onclick="btn_show_don_3("
0="" )="" type="radio">Autre montant</label></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr id="trAutre_montant">
<td align="right" valign="middle">Autre
montant</td>
<td></td>
<td><input name="autre_montant"
id="id_autre_montant" size="50" maxlength="10"
type="text"></td>
</tr>
<tr>
<td align="right" width="208">Mode paiment</td>
<td width="10"> </td>
<td width="280">
<span id="spryselect3">
<select name="mode_paiement" id="mode_paiement"
onchange="btn_show_mode_paiement(this.value)">
<option selected="selected">Sélectionnez
votre mode de paiement</option>
<option value="Carte Bancaire ou PayPal">Carte
Bancaire ou PayPal</option>
<option value="Virement">Virement Bancaire</option>
<option value="Chèque">Chèque</option>
</select>
</span>
</td>
</tr>
<tr id="trPaypal" style="display: none;">
<td colspan="3" align="center" valign="middle">
ici futur formulaire de paiement PayPal et carte de crédit
</td>
</tr>
<tr id="trVirement" style="display: none;">
<td colspan="3" align="center" valign="middle">
Ici renseignement RIB
</td>
</tr>
<tr id="trCheque" style="display: none;">
<td colspan="3" align="center" valign="middle">
Ici établir le chèque à l'ordre de XXXX<br>
et l'envoyer à cette adresse XXXX
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html><code></code>
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
17 août 2015 à 00:08
17 août 2015 à 00:08
Pour faire simple :
Tu mets un ONCLICK sur TOUS tes boutons radios ... et tu créés une nouvelle fonction qui affiche ou masque en fonction de la valeur de l'élément radio cliqué.
si value == '0'
==> Tu affiches
Sinon... tu masques
Tu mets un ONCLICK sur TOUS tes boutons radios ... et tu créés une nouvelle fonction qui affiche ou masque en fonction de la valeur de l'élément radio cliqué.
si value == '0'
==> Tu affiches
Sinon... tu masques
traderpierre
Messages postés
268
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2022
2
17 août 2015 à 17:28
17 août 2015 à 17:28
Super merci pour ton aide.
Sans toi, je n'y serais pas arrivé.
Cool :-))
Sans toi, je n'y serais pas arrivé.
Cool :-))