Formulaire: liste déroulante dynamique: aide

Eléphanteau du PHP | 24 Messages

05 janv. 2009, 20:31

Bonjour à tous!

Tout d'abord bonne année 2009 à tous ^^'

Voila je viens ici (j'espère être dans la bonne section ><'), car j'ai un petit problème.

Je veux demander de nombreuses informations aux utilisateurs à travers un formulaire, jusque là pas de problème, mais en information je veux récupérer une adresse et là ça se complique: j'ai trouvé le script de Cyrano: http://www.phpfrance.com/forums/voir_sujet-4562.php qui m'a un peu aider mais il me manquait une donnée: la ville.
Je suis ensuite tombé sur le script de lolizbak : http://www.phpfrance.com/forums/voir_sujet-12425.php , qui lui est exactement ce que je veux mais le problème c'est que lorsqu'on choisit une donnée: région, département, ville, toutes les informations qui ont été précédemment écrite sont effacer... je sais que c'est normal car c'est du php et il y a la nécessité de recharger.

C'est pour ça que je viens ici... j'ai vu que dans le Tutoriels de Cyrano, il y avait une solution en Ajax qui elle je pense (d'après ce que j'ai compris à l'Ajax) pourrais me permettre de résoudre mon problème...
j'ai donc essayer d'ajouter le champ de ville dans le script en ajax... mais alors la je patauge complètement surtout que je ne connais pas l'Ajax et pas beaucoup le PHP, je débute depuis peu...

Si d'autres solutions existent et sont beaucoup plus simple je suis preneur!!!

Merci beaucoup de votre aide
Jonathan

ViPHP
AB
ViPHP | 5818 Messages

05 janv. 2009, 21:01

mais le problème c'est que lorsqu'on choisit une donnée: région, département, ville, toutes les informations qui ont été précédemment écrite sont effacer... je sais que c'est normal car c'est du php et il y a la nécessité de recharger.

C'est pour ça que je viens ici...
Jonathan
Ce n'est pas clair, tu peux donner plus de détails ?

Eléphanteau du PHP | 24 Messages

05 janv. 2009, 21:11

hum par exemple:

j'ai des champs nom, prénom, puis le script de liste déroulante dynamique pour région, département, ville.
Lorsque je remplis les champs: nom, prénom, si ensuite je choisis une région, les champs nom et prénom s'efface.

J'aimerais trouver un moyens pour que le texte reste dans les champs nom et prénom et que l'on puisse quand même choisir sa région, son département et sa ville, sans devoir tout retaper... :s


Voila j'espère que c'est un peu plus clair, désolé :s

Si c'est toujours pas assez clair, n'hésitez pas à me le dire j'essayerais de trouver quelque chose pour me faire comprendre ^^'

Merci beaucoup à vous
Jonathan

ViPHP
AB
ViPHP | 5818 Messages

05 janv. 2009, 21:24

Si les champs nom et prénom font partie du même formulaire tu ré affiches leur valeur dans les value de tes champs.

Sur le principe :

Code : Tout sélectionner

<input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlspecialchars($_POST['nom'])?>" />

Eléphanteau du PHP | 24 Messages

05 janv. 2009, 21:33

ça fonctionne pour les champ de type text, mais j'ai aussi des checkbox, et des textarea et file.


y aurait-il un moyen pour ceux-ci?

Merci beaucoup de ton aide!
Jonathan

ViPHP
AB
ViPHP | 5818 Messages

06 janv. 2009, 02:13

Pour les checkbox la formule magique c'est checked = "checked" dans le champ input de type checkbox
donc

Code : Tout sélectionner

<input type = "checkbox" name = "case1" <?php if(isset($_POST['case1'])) echo 'checked = "checked"'?> />
Pour le textarea tu mets le contenu du $_POST entre les deux balises textarea.

Code : Tout sélectionner

<textarea name="montexte" cols="50" rows="10"><?php if(isset($_POST['montexte'])) echo htmlspecialchars($_POST['montexte']) ?></textarea>
Seuls les champs de type file ne peuvent pas être renseignés par avance, niet pas possible, impossible.


Donc si tu tiens absolument à ce que le champ de type file ne soit pas vide à chaque rechargement de la page, il te faudra faire tes listes déroulantes avec les solutions javascript ou ajax mentionnées plus loin dans le tuto. Ou tu pourrais aussi faire remplir le champ de type file en fin de formulaire ou tout au moins après tes listes déroulantes.

Eléphanteau du PHP | 24 Messages

06 janv. 2009, 19:57

C'est parfait ça marche niquel!!!!

Merci beaucoup à toi!!!

et je passe le sujet en résolu!


Et merci encore une fois pour la rapidité des réponses!!!!

A bientot
Jonathan