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

AJAX Discussion :

[AJAX] Ajax + remplir un input à partir du choix d'une liste déroulante


Sujet :

AJAX

  1. #21
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    En effet ^^

    j'ai déjà firebug d'installé .. mais je ne sais pas trop m'en servir

    J'ai essayé de débugger pas à pas

    Je me retrouve avec :

    rst is null
    [Break on this error] document.getElementById('inputNom'...e('inputNom')[0].firstChild.nodeValue;\r\n

    essai.php ligne 66

    et

    <br />
    <b>Parse error</b>: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in <b>C:\wamp\www\blue_crystal\ajaxFiche.php</b> on line <b>14</b><br />


    essai.php ligne 79

  2. #22
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    echo '<inputNom>';
    echo ".$row["nom"].";
    echo '</inputNom>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<inputNom>'.$row["nom"].'</inputNom>';
    Modifie aussi l'erreur dans ma poste précédente.

  3. #23
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    J'ai changé la ligne

    J'ai trouvé l'erreur (Merci Firebug ^^ c'est bien pratique en fait !!)

    J'avais cette ligne là dans mon fichier ajaxFiche.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_close($connexion);
    alors que $connexion n'existe pas :/
    c'était $connect

    Maintenant ça fonctionne

    Pfffiou quelle heure de m***** a trouver !!

    Merci en tout cas pour votre aide

  4. #24
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Je me permet d'actualiser ce topic car mon problème est sensiblement le même.


    J'ai un bouton input qui alimente une liste déroulante juste la pas de probleme.
    A la selection d'un champ de cette dernière je dois alimenter plusieurs input.

    Mais j'ai une erreur :
    rst.getElementsByTagName("libelle2")[0] is undefined Line 15

    Voici mes pages :

    test.php
    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
    105
    106
    107
    108
    109
    110
    111
    <html>
    	<head>
    		<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    		<script type='text/javascript'>
     
    			function change2()
    			{	
    				var xhr = getXhr2();
    							// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function()
    				{
    				if(xhr.readyState == 4 && xhr.status == 200)
    					{
    					var rst = xhr.responseXML;
     					document.getElementById('libelle').value = rst.getElementsByTagName('libelle2')[0].firstChild.nodeValue;
    					document.getElementById('codenoeud').value = rst.getElementsByTagName('codenoeud')[0].firstChild.nodeValue;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","infonra.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				choix = document.getElementById('livre2').options[document.getElementById('livre2').selectedIndex].value ;
    				xhr.send("Nom="+choix);		
    				}	
     
     
    			function getXhr2(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    					xhr = new XMLHttpRequest(); 
    					else if(window.ActiveXObject){ // Internet Explorer 
    					try {
    					xhr = new ActiveXObject("Msxml2.XMLHTTP");
    					} catch (e) {
    					xhr = new ActiveXObject("Microsoft.XMLHTTP");
    					}
    					}
    					else 
    					{
    					alert('XMLHTTPRequest needed'); 
    					xhr = false; 
    					}
                             return xhr;
    			}
     
    			function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
     
    			function go(){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('livre').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajaxLivre.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				idauteur = document.nra.auteur.value;
    				xhr.send("idAuteur="+idauteur);
    			}	
    		</script>
    	</head>
    	<body>
     
    		<form name='nra'>
    			<input type='text' name='auteur' id='auteur' onblur='go()' >
     
    				</input>
     
    				<label>Livres</label>
    				<div id='livre' style='display:inline'>
    				<select id='livre2'>
    					<option value='1'>Choisir un auteur</option>
    				</select>
    				</div>
    				<div id='info' style='display:inline'>
    				<input type='text' name='libelle' id='libelle'></input>
    				<input type='text' name='codenoeud' id='codenoeud'></input>
    				</div>
    		</form>
    	</body>
    </html>
    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
    <?php 
    session_start();
    include('fonctions.php');
     
    	header("Content-type:text/xml");
    	echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
    	echo "<racine>";
    	if(isset($_POST["Nom"]))
    	{
    	$fichierini = "../php.ini";
    	$tab = file($fichierini);
     
    					foreach($tab as $ligne)
    						{
    						$infoBDD[] = $ligne;
    						}
     
    						$User = substr($infoBDD[0],0,strlen($infoBDD[0]) - 1);
    						$passwd = substr($infoBDD[1],0,strlen($infoBDD[1]) - 1);
    						$host = substr($infoBDD[2],0,strlen($infoBDD[2]) - 1);
    						$bdd = substr($infoBDD[3],0,strlen($infoBDD[3]) - 1);
     
    							try
    							{
    							mysql_connect("localhost","root","");
      					 		mysql_select_db($bdd);
    							}
    							catch(exception $e)
    							{
     
    							die('<option>Erreur : '. $e->getMessage().'</option>');
    							}
    		$res = mysql_query("SELECT DSLAM_Libelle , DSLAM_CodeNoeud  FROM DSLAM WHERE `DSLAM_ID` = '".$_POST['Nom']."'");
     
    		while($row = mysql_fetch_array($res))
    		{
    			echo '<libelle2>'.$row["DSLAM_Libelle"].'</libelle2>';
    			echo "<codenoeud>".$row['DSLAM_CodeNoeud']."</codenoeud>";
    		}
    	}
    	echo "</racine>";
    ?>
    Merci de votre aide, je suis sur que ca ne doit pas être bien compliquer mais je ne trouve pas la solution.

    PS : c'est sensiblement les mêmes noms que les post précédents car je suis actuellement en phase de test pour l'integrer dans mon application.

  5. #25
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rst = xhr.responseText;
    alert(rst);
    pour vérifier les valeurs retournées.

    <input type='text' name='libelle' id='libelle'></input>
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' name='libelle' id='libelle' />
    A+.

  6. #26
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    je precise que dans le javascript j'appelle la fonction "change2()"

    donc je me sert du XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rst = xhr.responseXML;
    alert(rst);
    Quand je fais ca il me retourne : [OBJECT XMLDocument]

    //OK j'ai trouvé une partie du problème
    include(fonctions.php); ===> include(../fonctions.php);


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rst = xhr.responseText;
    alert(rst);
    il me renvoi en alert() :

    <?xml version="1.0" encoding="ISO-8859-1"?><racine><libelle2>ABBEVILLE</libelle2><codenoeud>A0 ACAP</codenoeud></racine>

  7. #27
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Oui mais on aimera voir le contenue de l'xml c'est pour ça que j'ai mis responseText, ce n'est que pour le test . Sinon utilises firebug pour voir le contenue de l'xml.
    A+.

  8. #28
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Je precise que dans le javascript j'appelle la fonction "change2()"

    donc je me sert du XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rst = xhr.responseXML;
    alert(rst);
    Quand je fais ca il me retourne : [OBJECT XMLDocument]

    //OK j'ai trouvé une partie du problème
    include(fonctions.php); ===> include(../fonctions.php);


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var rst = xhr.responseText;
    alert(rst);

    il me renvoi en alert() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
    <libelle2>ABBEVILLE</libelle2>
    <codenoeud>A0 ACAP</codenoeud>
    </racine>
    EDIT : PRroblème resolu c'etait bien le fonction.php qui fesait tout "foiré"
    Merci de ton aide

  9. #29
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Nouveau Problème

    Tout fonctionne avec Firefox et Firebug... par contre IE7 pas du tout

    Sur IE aucun message d'erreur.

    (je precise que je suis dans un contexte d'entreprise ou IE6 est encore trés présent et il sont en train de switcher vers IE7 ... quand a firefox ^^ il est tout simplement pas accepté)

  10. #30
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    (je precise que je suis dans un contexte d'entreprise ou IE6 est encore trés présent et il sont en train de switcher vers IE7 ... quand a firefox ^^ il est tout simplement pas accepté)

    Tu peux nous montrer ton code html?

  11. #31
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    JAVASCRIPT :
    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
    function getXhr(){
     
    var xhr = null; 
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
    function getXhr2(){
     
    var xhr = null; 
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('nratrouver').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","codenra.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				idnra = document.formverif.Dcodenra.value;
    				xhr.send("recherche="+idnra);
    			}
     
     
    			function change2()
    			{	
    				var xhr = getXhr2();
    							// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function()
    				{
    				if(xhr.readyState == 4 && xhr.status == 200)
    					{
    					var rst = xhr.responseXML;
     					document.formverif.Dnomnra.value = rst.getElementsByTagName('Dnomnra')[0].firstChild.nodeValue;
    					document.formverif.codenoeud.value = rst.getElementsByTagName('codenoeud')[0].firstChild.nodeValue;
    					document.formverif.dslam.value = rst.getElementsByTagName('dslam')[0].firstChild.nodeValue;
    					document.formverif.chassis.value = rst.getElementsByTagName('chassis')[0].firstChild.nodeValue;
    					document.formverif.maitre.value = rst.getElementsByTagName('maitre')[0].firstChild.nodeValue;
     
    					document.formverif.deportfoe1.value = rst.getElementsByTagName('deportfoe1')[0].firstChild.nodeValue;
    					document.formverif.synmd.value = rst.getElementsByTagName('synmd')[0].firstChild.nodeValue;
    					document.formverif.synmaitre.value = rst.getElementsByTagName('synmaitre')[0].firstChild.nodeValue;
    					document.formverif.comp_dslam1.value = rst.getElementsByTagName('comp_dslam1')[0].firstChild.nodeValue;
    					document.formverif.comp_dslam2.value = rst.getElementsByTagName('comp_dslam2')[0].firstChild.nodeValue;
    					document.formverif.comp_dslam3.value = rst.getElementsByTagName('comp_dslam3')[0].firstChild.nodeValue;
    					document.formverif.comp_dslam4.value = rst.getElementsByTagName('comp_dslam4')[0].firstChild.nodeValue;
     
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","infonra.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				choix = document.getElementById('nratrouver2').options[document.getElementById('nratrouver2').selectedIndex].value ;
    				xhr.send("Nom="+choix);		
    				}

    INFONRA.PHP
    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
    <?php 
    session_start();
    include('fonctions.php');
     
    	header("Content-type:text/xml");
    	echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
    	echo "<racine>";
    	if(isset($_POST["Nom"]))
    	{
    	$fichierini = "php.ini";
    	$tab = file($fichierini);
     
    					foreach($tab as $ligne)
    						{
    						$infoBDD[] = $ligne;
    						}
     
    						$User = substr($infoBDD[0],0,strlen($infoBDD[0]) - 1);
    						$passwd = substr($infoBDD[1],0,strlen($infoBDD[1]) - 1);
    						$host = substr($infoBDD[2],0,strlen($infoBDD[2]) - 1);
    						$bdd = substr($infoBDD[3],0,strlen($infoBDD[3]) - 1);
     
    							try
    							{
    							mysql_connect("localhost","root","");
      					 		mysql_select_db($bdd);
    							}
    							catch(exception $e)
    							{
     
    							die('<option>Erreur : '. $e->getMessage().'</option>');
    							}
    		$res = mysql_query("SELECT * FROM DSLAM WHERE `DSLAM_ID` = '".$_POST['Nom']."'");
     
    		while($row = mysql_fetch_array($res))
    		{
    			echo '<Dnomnra>'.$row["DSLAM_Libelle"].'</Dnomnra>';
    			echo "<codenoeud>".$row['DSLAM_CodeNoeud']."</codenoeud>";
    			echo "<dslam>".$row['DSLAM']."</dslam>";
    			echo "<chassis>".$row['DSLAM_CHASSIS']."</chassis>";
    			echo "<maitre>".$row['DSLAM_M_D']."</maitre>";
     
    			echo "<deportfoe1>".$row['DSLAM_DEPORT']."</deportfoe1>";
    			echo "<synmd>".$row['DSLAM_SYNCHRO_Chassis']."</synmd>";
    			echo "<synmaitre>".$row['DSLAM_SYNCHRO_Maitre']."</synmaitre>";
     
    			echo "<comp_dslam1>".$row['DSLAM_Comp1']."</comp_dslam1>";
    			echo "<comp_dslam2>".$row['DSLAM_Comp2']."</comp_dslam2>";
    			echo "<comp_dslam3>".$row['DSLAM_Comp3']."</comp_dslam3>";
    			echo "<comp_dslam4>".$row['DSLAM_Comp4']."</comp_dslam4>";
     
     
    		}
    	}
    	echo "</racine>";
    ?>

    Commence a desperer des différences IE FF

  12. #32
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(rst.getElementsByTagName("deportfoe1").length>0)
    A+

  13. #33
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Arrêtes d’éditer à chaque seconde tes messages car ça nous embrouille.

  14. #34
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Arrêtes d’éditer à chaque seconde tes messages car ça nous embrouille.
    Pardon, c'est quand je résou un problème de moi même.

    Pour l'incompatibilité avec IE tu as une solution?!

    Pourtant quand je remplie ma liste déroulante en fonction du bouton avec AJAX ca passe impeccable avec IE.

    Sur quel évenement je peux declencher l'insertion dans les input si ma liste ne contient qu'un seul element car le onchange= ne marchera pas !

  15. #35
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Montres nous le code HTML généré de la page.

  16. #36
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Montres nous le code HTML généré de la page.
    Les mystères d'Internet Explorer 7 ! Je redémarre et la tout fonctionne correctement

    Il ne me reste plus qu'a gerer le cas ou ma liste déroulante ne contient qu'un seul champ !

  17. #37
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Tu n'as qu'à mettre une option vide avant d'ajouter ce qui se trouve dans la base.

    A+.

  18. #38
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Bonjour a tous,

    Après un mois de fonctionnement niquel chrome. Cette fonction ne marche plus aujourd'hui et je ne sais vraiment pas pourquoi, car je n'est pas modifier ce code.

    Voici mon erreur :

    rst.getElementsByTagName("Dnomnra")[0] is undefined
    Line 58

    Fichier : Fonctions_ajax.js
    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
    105
    106
    107
    108
    109
    110
    111
     
    function change2()
    {	
    				var xhr = getXhr();
    							// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function()
    				{
    				if(xhr.readyState == 4 && xhr.status == 200)
    					{
    					var msg = "Attention !\nLe DSLAM n'est pas compatible au(x) raccordement(s) :\n\n";
    					var rst = xhr.responseXML;
    					alert(rst.getElementsByTagName("Dnomnra")[0].firstChild.nodeValue.length);
    					if(rst.getElementsByTagName("Dnomnra").length>0)
    					{
    					document.formverif.Dnomnra.value = rst.getElementsByTagName('Dnomnra')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("codenoeud").length>0)
    					{
    					document.formverif.codenoeud.value = rst.getElementsByTagName('codenoeud')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("dslam").length>0)
    					{
    					document.formverif.dslam.value = rst.getElementsByTagName('dslam')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("chassis").length>0)
    					{
    					document.formverif.chassis.value = rst.getElementsByTagName('chassis')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("maitre").length>0)
    					{
    					document.formverif.maitre.value = rst.getElementsByTagName('maitre')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("deportfoe1").length>0)
    					{
    					document.formverif.deportfoe1.value = rst.getElementsByTagName('deportfoe1')[0].firstChild.nodeValue;
    					}
     
    					if(rst.getElementsByTagName("synmd").length>0)
    					{
    					document.formverif.synmd.value = rst.getElementsByTagName('synmd')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("synmaitre").length>0)
    					{
    					document.formverif.synmaitre.value = rst.getElementsByTagName('synmaitre')[0].firstChild.nodeValue;
    					}
     
    					if(rst.getElementsByTagName("comp_dslam1")[0].length>0)
    					{
    						if (rst.getElementsByTagName('comp_dslam1')[0].firstChild.nodeValue == "non" || rst.getElementsByTagName('comp_dslam1')[0].firstChild.nodeValue == "NON")
    						{
    						document.formverif.comp_dslam1.style.backgroundColor = "#E5304E";
    						msg += "- AIRCOM V1 STM1 (FO)";
    						}
    					document.formverif.comp_dslam1.value = rst.getElementsByTagName('comp_dslam1')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("comp_dslam2")[0].length>0)
    					{
    						if (rst.getElementsByTagName('comp_dslam2')[0].firstChild.nodeValue == "non" || rst.getElementsByTagName('comp_dslam2')[0].firstChild.nodeValue == "NON")
    						{
    						document.formverif.comp_dslam2.style.backgroundColor = "#E5304E";
    						msg += "- AIRCOM SHDSL 1p ou 2p";
    						}
    					document.formverif.comp_dslam2.value = rst.getElementsByTagName('comp_dslam2')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("comp_dslam3")[0].length>0)
    					{
    						if (rst.getElementsByTagName('comp_dslam3')[0].firstChild.nodeValue == "non" || rst.getElementsByTagName('comp_dslam3')[0].firstChild.nodeValue == "NON")
    						{
    						document.formverif.comp_dslam3.style.backgroundColor = "#E5304E";
    						msg += "- AIRCOM SHDSL 4p";
    						}
    					document.formverif.comp_dslam3.value = rst.getElementsByTagName('comp_dslam3')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("comp_dslam4")[0].length>0)
    					{
    						if (rst.getElementsByTagName('comp_dslam4')[0].firstChild.nodeValue == "non" || rst.getElementsByTagName('comp_dslam4')[0].firstChild.nodeValue == "NON")
    						{
    						document.formverif.comp_dslam4.style.backgroundColor = "#E5304E";
    						msg += "- AIRCOM CN2 / IMA";
    						}
    					document.formverif.comp_dslam4.value = rst.getElementsByTagName('comp_dslam4')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("alveole_dslam")[0].length>0)
    					{
    					document.formverif.alveole_dslam.value = rst.getElementsByTagName('alveole_dslam')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("alveole_nra")[0].length>0)
    					{
    					document.formverif.alveole_nra.value = rst.getElementsByTagName('alveole_nra')[0].firstChild.nodeValue;
    					}
    					if(rst.getElementsByTagName("dslam_id")[0].length>0)
    					{
    					document.formverif.dslam_id.value = rst.getElementsByTagName('dslam_id')[0].firstChild.nodeValue;
    					}
    					if (msg != "Attention !\nLe DSLAM n'est pas compatible au(x) raccordement(s) :\n\n")
    					{
    					alert(msg);
    					}
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","infonra.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
     
    				choix = document.getElementById('nratrouver2').options[document.getElementById('nratrouver2').selectedIndex].value ;
    				xhr.send("Nom="+choix);		
    }
    Choix renvoie bien la valeur que je veux

    Fichier php infonra.php
    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
     
    <?php 
    session_start();
    require('fonctions.php');
     
            header("Content-type:text/xml");
            echo "<?xml version='1.0' encoding='utf-8' ?> ";
            echo "<racine>";
            if(isset($_POST["Nom"]))
            {
            Connexion();
                    $res = mysql_query("SELECT * FROM DSLAM WHERE `DSLAM_ID` Like '".$_POST['Nom']."'");
     
                    while($row = mysql_fetch_array($res))
                    {
                            echo '<Dnomnra>'.$row["DSLAM_Libelle"].'</Dnomnra>';
                            echo "<codenoeud>".$row['DSLAM_CodeNoeud']."</codenoeud>";
                            echo "<dslam>".$row['DSLAM']."</dslam>";
                            echo "<chassis>".$row['DSLAM_CHASSIS']."</chassis>";
                            echo "<maitre>".$row['DSLAM_M_D']."</maitre>";
                            
                            echo "<deportfoe1>".$row['DSLAM_DEPORT']."</deportfoe1>";
                            echo "<synmd>".$row['DSLAM_SYNCHRO_Chassis']."</synmd>";
                            echo "<synmaitre>".$row['DSLAM_SYNCHRO_Maitre']."</synmaitre>";
                            
                            echo "<comp_dslam1>".$row['DSLAM_Comp1']."</comp_dslam1>";
                            echo "<comp_dslam2>".$row['DSLAM_Comp2']."</comp_dslam2>";
                            echo "<comp_dslam3>".$row['DSLAM_Comp3']."</comp_dslam3>";
                            echo "<comp_dslam4>".$row['DSLAM_Comp4']."</comp_dslam4>";
                            echo "<alveole_dslam>".$row['DSLAM_Aveoles']."</alveole_dslam>";
                            echo "<alveole_nra>".$row['DSLAM_Aveoles_NRA']."</alveole_nra>";
                            echo "<dslam_id>".$_POST['Nom']."</dslam_id>";
                    
                    }
            }
            echo "</racine>";
    ?>

    Quand je remplace xhr.responseXML par xhr.responseText et que je l'affiche dans un alert j'obtient ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version='1.0' encoding='utf-8' ?> <racine><Dnomnra>CHANTILLY</Dnomnra><codenoeud>A0 CJOF</codenoeud><dslam> DSCHN201 </dslam><chassis>DSMHD</chassis><maitre>M</maitre><deportfoe1></deportfoe1><synmd>Oui</synmd><synmaitre></synmaitre><comp_dslam1>oui</comp_dslam1><comp_dslam2>oui</comp_dslam2><comp_dslam3>non</comp_dslam3><comp_dslam4>non</comp_dslam4><alveole_dslam>6</alveole_dslam><alveole_nra>35</alveole_nra><dslam_id> DSCHN201 </dslam_id></racine>
    Il renvoie donc bien les informations mais pour une raison que j'ignore il me dit que les "variables xml" n'existent pas.

    Merci pour votre aide future,
    Julien.

  19. #39
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    <deportfoe1></deportfoe1>
    Quand c'est vide, ça doit être
    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [AC-2007] Remplir un champ à partir des informations d'une liste déroulant
    Par titsoun83 dans le forum IHM
    Réponses: 12
    Dernier message: 31/03/2015, 16h26
  2. Réponses: 3
    Dernier message: 16/03/2011, 17h47
  3. Réponses: 2
    Dernier message: 13/08/2010, 11h32
  4. Réponses: 2
    Dernier message: 14/06/2010, 09h07
  5. Réponses: 4
    Dernier message: 15/12/2006, 22h43

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