[PHP] formulaire progressif

Résolu
Keilink Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis actuellement entrain de réaliser une page d'enregistrement, et je me tourne vers la communauté de "commentCaMarche" pour obtenir de l'aide sur la présentation d'un formulaire.

Actuellement, un utilisateur remplit ses informations basiques (nom, mdp, email) et doit choisir son statu, à savoir s'il est du personnel ou étudiant, dans une liste déroulante. Cette liste déroulante doit faire apparaître un champ spécifique selon son statu.

Mon problème est que pour ce faire j'utilise une simple condition pour mettre le bon champ dans une variable et l'afficher. Cependant il faut que l'utilisateur utilise un bouton valider pour que celui-ci apparaisse (et donc que la variable soit transmise).
Je cherche un moyen pour que le champ s'affiche sans qu'il n'est à cliquer sur un bouton de soumission, donc juste au moment ou il fait son choix dans la liste.

J'ai essayé d'utiliser la fonction "onchange", aucun erreurs n'est apparues mais rien ne se passe lorsque je change de sélection.

code de mon essaie avec onchange
function changeForm($statu)
{

if ($statu == 'etudiant')
	{ 
	$echoBuffer = "<tr><td width=\"200\">Année de fin d'étude *</td><td width='".$rightFormSide."'><input type='text' id='offyear'></td></tr>";
	}
else if ($statu == 'personnel')
	{
	$echoBuffer = "<tr><td width=\"200\">Années d'exercice *</td><td width='".$rightFormSide."'><input type=\"text\" id=\"startyear\">&nbsp / &nbsp<input type='text' id='endyear'>";
	}
}

[...]

echo "<tr><td colspan='2' align='center'><select name='statu' onchange='changeForm(this.value)'>
        <option value='etudiant' selected='selected'>Etudiant</option>
        <option value='personnel'>Personnel</option>
    </select> *</td></tr>";
		
echo $echoBuffer;



Kei'
A voir également:

3 réponses

Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention   206
 
(Souci de message j'ai du editer, je disais )

Salut

Effectivement rien ne peut ce passer, c'est un peu plus complexe que cela car il faut evidement que la page soit soumise au serveur pour que le code PHP soit traité. Je te conseille de te tourner vers l'ajax pour realiser ceci.

L'ajax est une technique utilisant javascript pour communiquer avec le serveur de façon totalement transparente pour l'utilisateur et donc pouvoir transmettre des variables au serveur et en recevoir sans rafraichir la page.
0
Keilink Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour cette réponse fulgurante :p

Il me semblait bien que cette fonction devait être assisté par du javascript.

Si je me réfère à ce poste (http://www.commentcamarche.net/forum/affich 1498208 onchange dans un select ), cela reviendrai à convertir ma fonction en javascript et à utiliser une section div pour transmettre la variable à ce code en temps réel?
0
Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention   206
 
Oui effectivement, en regardant mieux le code il n'y a pas besoin d'ajax, il suffit de convertir tout simplement la fonction en javascript car finalement tu n'a rien à aller chercher sur le serveur tu change tout simplement le contenu
0