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

Résolu/Fermé
Utilisateur anonyme - Modifié par PaulCézanne le 2/12/2012 à 18:25
 Utilisateur anonyme - 14 janv. 2013 à 21:21
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 :-)

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 déc. 2012 à 14:08
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
14 janv. 2013 à 21:17
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
7 déc. 2012 à 19:20
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
13 janv. 2013 à 15:00
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
14 janv. 2013 à 21:08
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
14 janv. 2013 à 21:21
Impeccable, vraiment merci beaucoup !

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

Merci encore :-)

Romain
0