Formulaire - case à cocher => nouveaux champs

Résolu/Fermé
corambe - 26 oct. 2008 à 09:27
 corambe - 27 oct. 2008 à 19:14
Bonjour à tous,

J'ai créé un formulaire de réservation de randonnées sur mon site ( www.corambe.com/randos/réservation.html ).
Je voudrais le modifier, l'améliorer. Je sais que cela existe mais je n'arrive pas à trouver comment mettre en place cette fonction, ni avec google ni avec la fonction 'Rechercher'.
Voilà ce que je cherche à obtenir : si on coche la case 1 (parmi un choix de 5), on aura d'autres champs, particuliers à cette case, qui apparaîtront en dessous. Et ça pour chacune des cases à cocher.
Savez vous comment faire ça?
J'ai pensé mettre un lien vers une autre page comprenant les champs correspondant au bouton coché, mais ça pose le problème de l'apparition de la nouvelle page à un certain niveau dans la fenêtre (ça, ça ne doit pas être trop compliqué...), mais surtout qu'il faudrait que dans la nouvelle page ouverte, les champs déjà renseignés soient inscrits dans les champs (que le visiteur n'ait pas à les retaper).
Svp aidez moi... !!!
Merci d'avance !

4 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
26 oct. 2008 à 14:05
Place une div vide ayant un id.
Écris une petite fonction javascript, appelée lors du "onclick" sur ta case à cocher, qui te rajoute dans ta div (avec le innerHTML) le code html nécessaire pour tes champs supplémentaire. (Pense à faire que la fonction écrive le contenu dans la div, ou efface le contenu de la div, une fois sur 2, pour que l'utilisateur puisse cocher/décocher la case)
0
ok, même si je sais absolument pas quels codes utiliser pour faire ça, j'ai compris en théorie.
Mais dans ce que tu me dis, ça sous entend que ce soit des champs à texte qui apparaissent, non?
Or moi je voudrais qu'il y ait des 'select'.
Donc ce serait pas juste des champs vides à remplir. Si je fais des div vides, je vois pas comment faire...
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
26 oct. 2008 à 15:21
Non tu peux y faire afficher ce que tu veux.
En fait au lieu d'écrire tout ton code HTML en dur (qui serait systématiquement affiché), tu le mets dans des document.getElementById("idDeLaDiv").innerHTML = "<select ....> .....";

Dans ton code de la page tes div sont vide pour ne rien afficher par défaut, si la case est coché, l'appel à la fonction permettra de "dire" à la fonction où écrire du code HTML supplémentaire ;-)
0
Bon donc depuis hier j'ai avancé, réussi à mettre des div que je cache ou pas, donc le problème dont je parlais hier est complètement résolu.
Par contre, j'ai utilisé le modèle du formulaire de Calak, qui est très bien, mais j'ai encore un souci par rapport à ça :
Quand je reçois le mail, tous les champs sont renseignés, sauf celui des input type radio, où à la place de la valeur, il y a marqué :'array'.
Je ne comprend pas du tout pourquoi ni ce que je peux faire pour changer ça...

Je vous met le code à cet endroit.

[code] <fieldset>
<legend>Choix d'une randonnée</legend>
<label for="formule8"><span>Balade
de 45 minutes</span>
<input name="formule[]" id="formule8" value="8"
type="radio"></label><label for="formule1"><span>Balade
d'une heure et
demie</span>
<input name="formule[]" id="formule1" value="1"
type="radio"></label><label for="formule2"><span>Balade
d'une demie
journée</span>
<input name="formule[]" id="formule2" value="2"
type="radio"></label><label for="formule3"><span>Randonnée
d'une journée</span>
<input name="formule[]" id="formule3" value="3"
type="radio"></label><label for="formule4"><span>Randonnée
d'un week-end</span>
<input name="formule[]" id="formule4" value="4"
type="radio"></label><label for="formule5"><span>Journée
gastronomique</span>
<input name="formule[]" id="formule5" value="5"
type="radio"></label><label for="formule6"><span>Randonnée
anniversaire</span>
<input name="formule[]" id="formule6" value="6"
type="radio"></label><label for="formule7"><span>Balade
botanique</span>
<input name="formule[]" id="formule7" value="7"
type="radio"></label></fieldset>


/code
J'ai essayé de mettre des valeurs entre les crochets de "formule[]", mais ça ne change rien...
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
27 oct. 2008 à 19:00
Je dis peut-être une connerie parce que ça fait un petit moment que je n'ai pas touché à ça, mais es-tu sûr des [] ? J'aurais mis : name="formule" vu qu'un input radio n'est qu'une seule valeur sélectionnée.
0
Oui effectivement, j'ai enlevé les crochets et c'est ok.
Merci !!
0