Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/01/2011, 03h08   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 9
Points : 2
Points : 2
Par défaut copie de select avec cloneNode

Bonjour en plus d'être un débutant c'est la première fois que je poste dans un forum:
voici mon problème: je voudrais, en cliquant sur un bouton, copier une liste déroulante située avant ce bouton.

voici mon code dans le <body>:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
   <body>
			<select id="liste_service" name='te0'>
			<option value='faux'>---choisissez---</option>
			<?php // création de la liste à partir d'une bd mySQL
			while ($row=mysql_fetch_array($resultat,MYSQL_NUM))
			{
			echo '<option value="'.$row[1].'">'.$row[0].' ('.$row[2].') </option>';
			}
			?>
			</select></br></br>
			<input type='button' value='une autre liste' id='sup' onClick='creer_liste()'>
			<div id="div" style="display:none;"></div>
			</body>

et voici dans le <head>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<head>
			<title>test</title>
 
			<script type="text/javascript">
				function creer_liste()
				{
				var selectexistant = document.getElementById('liste_service');
				var div_place = document.getElementById('div');
				var newselect = selectexistant.cloneNode(true);
				div_place.appendchild(newselect);
				}
 
			</script>
			</head>

resultat: lorsque je lis le code à partir de IE, la liste s'affiche bien mais lorsque je clique sur le bouton 'une autre liste' ça ne fait rien
Pouvez-vous maidez svp?
nouvinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 07h48   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 768
Points : 5 768
Par défaut Bienvenue !

Bonjour à vous,

Une toute petite remarque pour commencer mais rien de grave. Nous sommes sur le forum Javascript donc nous préférons voir le code Javascript et le HTML généré. Le code PhP ne nous aide pas, en fait, il nous trompe souvent.

Ceci étant dit, je constate deux choses sur la même <div> :

Code :
<div id="div" style="display:none;"></div>
Donner "div" comme id est audacieux. Ce terme étant le nom d'un tag html, il est déconseillé de l'utiliser comme id, nom de variable, etc.
Ensuite, la <div> est cachée. Peut-être que votre seconde liste se crée bien mais si vous n'affichez pas la <div>, vous ne risquez pas de voir le résultat.

Code :
1
2
3
 
div_place.style.display="";
div_place.appendchild(newselect);
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/01/2011, 01h22   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 9
Points : 2
Points : 2
Par défaut merci

déja escuse-moi pour le retard de ma réponse (période de cyclone sur le territoire)
merci pour ta reponse j'ai trouvé l'erreur.

dans le body
Code :
1
2
3
4
5
6
7
8
<body>
			<select id="liste_service" name='te0'>
			<option value='faux'>---choisissez---</option>
                                   //liste de tous les services
			</select></br></br>
			<input type='button' value='une autre liste' id='sup' onClick='creer_liste()'>
			<div id="div" style="display:none;"></div>
       </body>
dans le head:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<head>
			<title>test</title>
 
			<script type="text/javascript">
				function creer_liste()
				{
				var selectexistant = document.getElementById('liste_service');
				var div_place = document.getElementById('div');
				var newselect = selectexistant.cloneNode(true);
 
div_place.style.display="";
div_place.appendchild(newselect);
 
				}
 
			</script>
			</head>
Et ça marche merci bcp!!
nouvinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h33.


 
 
 
 
Partenaires

Hébergement Web