IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

remplir un select en javascript a partir d'un fichier xml


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    1
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Par d�faut remplir un select en javascript a partir d'un fichier xml
    C'est la premi�re fois que je me sert de ce genre de forum, j'ai vraiment besoin d'aide,soyez indulgent...merci

    le programme est cens� remplir un premier select avec les element du fichier "marque.xml" cad renault-fiat-mercedes-citroen.
    Quand on choisi renault,il cr�e un fichier renault.xml et l'ouvre, puis passe les �l�ments qui s'y trouve dans le second select.
    le probleme se situe � alert("fonction marque") ,si je le d�sactive il passe au dessus de la fonction et ne rempli rien, si je l'active(que j'enl�ve les /* et */) il passe dans la fonction et la rempli, j'ai rajout� un try catch au debut mais �a n'a rien chang�.je vous l'envoi egalement en piece jointe, je ne sais pas trop comment �a fonctionne chez vous. Merci encore de l'aide que vous m'apporterez.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <html>
    	<head>
    	<script type="text/javascript">
    	function open_file()
    	{
    	try {
    		xmlDoc=new ActiveXObject("Microsoft.XMLDOC");
    		xmlDoc.async=false;
    		xmlDoc.load("marque.xml");
    		} catch (e)
    			{
    			try {
    				xmlDoc=document.implementation.createDocument('','',null);
    				xmlDoc.load("marque.xml");
    				} catch (e) {alert("ERREUR");}
    			}			
    		marque();
    	}
    	</script>
    	<script type="text/javascript">
    	function marque()
    	{
    	try
    		{
    		/*alert("fonction marque");*/ /*SI DESACTIVE ("/* ENLEVE DE CHAQ COTE DU ALERT") ALORS CA MARCHE*/
    		document.getElementById("cb_marque").options.length=0;	
    		MAX=xmlDoc.childNodes[0].childNodes.length;
    		/*alert(MAX);*/
    		document.getElementById("cb_marque").options[0]=new Option("",null); /*cible combobox marque et le vide*/
    		indx=0;
    		tb_mrq=new Array();
    		
    		for (i=0;i<MAX;i++)
    			{
    			try {
    				v=xmlDoc.childNodes[0].childNodes[i].getAttribute("id");
    				indx=indx+1;
    				/*alert(v+" "+i);*/
    				document.getElementById("cb_marque").options[indx]=new Option(v,i);
    				tb_mrq[i]=v;
    				}
    			catch(e) 	{ continue;
    						}
    			}
    		/*alert("1 : "+v1+" 2 : "+v2);	*/		
    		}
    		catch(e) 
    			{}
    	}
    	</script>	
    	<script type="text/javascript">
    	function getName()
    	{
    	var indx_chx=document.getElementById("cb_marque").options.selectedIndex;
    	var mon_choix=document.getElementById("cb_marque").options[indx_chx].value;
    	var p=tb_mrq[mon_choix];
    	/*alert("j'ai choisi : "+p);*/
    	/*alert("param re�u : "+param);*/
    	var file_xml=p + ".xml";
    	/*alert("nom du fichier XML : "+file_xml);	*/
    	try {
    		xmlDoc=new ActiveXObject("Microsoft.XMLDOC");
    		xmlDoc.async=false;
    		xmlDoc.load(file_xml);
    		} catch (e)
    			{
    			try {
    				xmlDoc=document.implementation.createDocument('','',null);
    				xmlDoc.load(file_xml);
    				} catch (e) {alert("ERREUR");}
    			}
    	modele();
    	}
    	</script>	
    	<script type="text/javascript">
    	function modele()
    	{
    	alert("fonction modele");
    	document.getElementById("cb_modele").options.length=0;
    	var MAX=xmlDoc.childNodes[0].childNodes.length; /*renault=7 citroen=7*/
    	/*alert(MAX);*/
    	document.getElementById("cb_modele").options[0]=new Option("",null); /*cible combobox modele et le vide*/
    	var indx=0;
    	for (i=0;i<MAX;i++)
    		{
    		try {
    			v=xmlDoc.childNodes[0].childNodes[i].getAttribute("id");
    			indx=indx+1;
    			/*alert(v+" "+i);*/
    			document.getElementById("cb_modele").options[indx]=new Option(v,i);
    			}
    		catch(e) 	{ continue;
    					}
    		}
    	/*alert("1 : "+v1+" 2 : "+v2+" 3 : "+v3);*/
    	}
    	</script>
    	</head>
    	
    	<body onload="open_file()">
    		<select id="cb_marque" onchange="getName()"></select>
    		<select id="cb_modele"></select>		
    	</body>
    </html>
    Fichiers attach�s Fichiers attach�s

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Remplir plusieurs tableaux � partir d'un fichier XML
    Par MarsVolta dans le forum VBA Word
    R�ponses: 2
    Dernier message: 15/05/2016, 20h52
  2. remplir ma checkedlistbox � partir d'un fichier XML
    Par sinaps1618 dans le forum Windows Forms
    R�ponses: 3
    Dernier message: 23/10/2009, 06h33
  3. R�ponses: 2
    Dernier message: 15/06/2009, 08h59
  4. remplir tableau dans une page JSP � partir d'un fichier texte
    Par ramzouni dans le forum Servlets/JSP
    R�ponses: 6
    Dernier message: 04/05/2009, 20h44
  5. Comment remplir un bean a partir d'un fichier xml
    Par NewSer dans le forum Persistance des donn�es
    R�ponses: 2
    Dernier message: 02/02/2007, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo