Stocker une valeur dans un autre champ lors d'un changement

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Je créé pour mon asso un système de planning en ligne.
J'ai un champ ou s'affiche le nom de la personne de permanence tel jour.
A la droite de ce champ, j'ai une liste déroulante avec les personnes qui peuvent remplacer la personne du champ de gauche.

Quand un utilisateur selectionne un nom dans la liste déroulante, j'aimerai que son nom apparaisse à gauche à la place de l'autre et que la personne qui se fait remplacer soit marquée en dessous le champ (pour afficher"remplace <?php echo $_GET['NOM Prénom']; ?>

Avez-vous des pistes pour créer un tel système ?

Merci de votre aide :-)

A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Salut
Voilà une solution en javascript:
<head>
	<script type="text/javascript">
	function fct_remplacement(){
		var choix_liste=document.getElementById('liste_remplacement_perm');
		var input_permanence=document.getElementById('personne_de_permanance');
		var div_info=document.getElementById('info');
		if(choix_liste.value !=""){
			//si choix autre que la première ligne (choisissez un remplaçant)
			//on lit ce qu'il y a actuellement dans l'input
			var ancienne_personne_permanence=document.getElementById('personne_de_permanance').value;
			//on remplace le contenu de l'input par le choix
			input_permanence.value=choix_liste.value;
			//on ecrit dans le div info
			div_info.innerHTML="Remplace: "+ancienne_personne_permanence;
		}

	}
	</script>
</head>
<body>
	<form name="form1" method="post" action="..." >

		<input type="ext" name="personne_de_permanance" id="personne_de_permanance" value="Duval" />
		<select name="liste_remplacement_perm" id="liste_remplacement_perm" onchange="fct_remplacement();">
			<option value="">Choisissez un remplaçant</option><!-- ligne obligatoire pour avoir un changement à tous les coups -->
			<option value="Dupond">Dupond</option>
			<option value="Durand">Durand</option>
			<option value="Martin">Martin</option>
		</select>
		<br />
		<div id="info"></div>


	</form>

</body>
1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
tu veux utiliser la fonction plusieurs fois dans des listes différentes ?

alors il faut faire une fonction avec des arguments et lui passer des valeurs correspondantes lors de leur appel:

<head>
	<script type="text/javascript">
//fonction avec arguments: id de la liste,id de l'input, id du div ou ecrire "Remplace.....
	function fct_remplacement(id_liste,id_input,id_div){
		var choix_liste=document.getElementById(id_liste);
		var input_permanence=document.getElementById(id_input);
		var div_info=document.getElementById(id_div);
		if(choix_liste.value !=""){
			//si choix autre que la première ligne (choisissez un remplaçant)
			//on lit ce qu'il y a actuellement dans l'input
			var ancienne_personne_permanence=document.getElementById('personne_de_permanance').value;
			//on remplace le contenu de l'input par le choix
			input_permanence.value=choix_liste.value;
			//on ecrit dans le div info
			div_info.innerHTML="Remplace: "+ancienne_personne_permanence;
		}

	}
	</script>
</head>
<body>
	<form name="form1" method="post" action="..." >

		<input type="ext" name="personne_de_permanance" id="personne_de_permanance" value="Duval" />
<!-- lors de l'appel de la fct on lui passe les valeurs correspondantes -->
		<select name="liste_remplacement_perm" id="liste_remplacement_perm" onchange="fct_remplacement('liste_remplacement_perm','personne_de_permanance','info');">
			<option value="">Choisissez un remplaçant</option><!-- ligne obligatoire pour avoir un changement à tous les coups -->
			<option value="Dupond">Dupond</option>
			<option value="Durand">Durand</option>
			<option value="Martin">Martin</option>
		</select>
		<br />
		<div id="info"></div>


	</form>

</body>
1
Utilisateur anonyme
 
Merci bien !! :-)
Je termine mon site avant d'insérer le code et je reviens te dire si ça a marché ou pas
0
Utilisateur anonyme
 
Ca marche très bien ! C'est exactement ça que je cherchais !

Merci beaucoup :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Le code marche très bien si on l'insère une seule fois.
En revanche, lorsqu'on insère le code plusieurs fois, seule le premier fonctionne...

Bizarre non ?
0
Utilisateur anonyme
 
Impeccable, vraiment merci beaucoup !

J'apprends petit à petit entre les tutos, les bouquins et le forum !!

Merci encore :-)

Romain
0