Bonjour tout le monde,

J'ai cette liste de sélection :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<select name="listChoix_annee" onchange="affichage(this.value)">
		    <option>Choisissez une année</option> 
			<option value="General">G&eacute;n&eacute;ral</option>
		    <option value="BA1">BA1</option>
		    <option value="BA2">BA2</option>
		    <option value="BA3">BA3</option>
		    <option value="MA1">MA1</option>
		    <option value="MA2">MA2</option>
	      </select>
Sur chaque changement, j'appelle une fonction nommée affichage et je lui passe la valeur choisie de la liste de sélection.

Voici le code de mon fichier 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
 
function affichage(annee)
{
		//alert(annee);
		//je crée un objet de type XMLHTTPREQUEST (j'appelle la fonction)
		var xhr = getXMLHttpRequest();
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
		{
			//alert(xhr.readyState);
			if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0 ) )
			{
 
				xmlDoc=xhr.responseXML;
				if(xmlDoc!=null)
				{
					document.getElementById("td_annee_de_cours").innerHTML=xmlDoc.getElementsByTagName("annee_cours")[0].childNodes[0].nodeValue;
					document.getElementById("td_id").innerHTML=xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue;
					document.getElementById("td_date").innerHTML=xmlDoc.getElementsByTagName("date")[0].childNodes[0].nodeValue;
					document.getElementById("td_date_expiration").innerHTML=xmlDoc.getElementsByTagName("date_validite")[0].childNodes[0].nodeValue;
					document.getElementById("td_Titre").innerHTML=xmlDoc.getElementsByTagName("titre")[0].childNodes[0].nodeValue;
					document.getElementById("Corps").innerHTML=xmlDoc.getElementsByTagName("corps")[0].childNodes[0].nodeValue;
					document.getElementById("td_auteur").innerHTML=xmlDoc.getElementsByTagName("piece_jointe")[0].childNodes[0].nodeValue;
					document.getElementById("td_lien").innerHTML=xmlDoc.getElementsByTagName("auteur")[0].childNodes[0].nodeValue;
					document.getElementById("td_piece_jointe").innerHTML=xmlDoc.getElementsByTagName("lien")[0].childNodes[0].nodeValue;
				}
				else
				{
					alert("le retour est null");
				}
 
			}
		}
 
		//Pour montrer une erreur, je pourrais retirer /PENDU et faire un alert de status
		xhr.open("POST","../AJAX/affichage.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send("annee="+annee);	
 
}
J'arrive dans la fonction, l'alerte que j'ai mis en commentaire me l'a prouvé.

Je passe donc une information (annee) au fichier php dont voici le code :

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
<?php
        header('Content-Type: text/xml');
        header("Cache-Control: no-cache, must-revalidate");
        //A date in the past
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        
        include('../PHP/connexion.php');
        $sql = "SELECT * FROM messages WHERE Annee = '".$_POST['annee']."' ORDER BY ID DESC";
        //echo $sql;
        $req = mysql_query($sql);
        //echo $req; 
        //include('../index/regreplace.php');   
        
        echo '<?xml version="1.0" encoding="ISO-8859-1"?>
        <information>';
        while($row = mysql_fetch_array($result))
        {
                echo "<annee_cours>" . $row['Annee'] . "</annee_cours>";
                echo "<id>" . $row['ID'] . "</id>";
                echo "<date>" . $row['Date'] . "</date>";
                echo "<date_validite>" . $row['Date_Validite'] . "</date_validite>";
                echo "<titre>" . $row['Titre'] . "</titre>";
                echo "<corps>" . $row['Corps'] . "</corps>";
                echo "<piece_jointe>" . $row['Piece_jointe'] . "</piece_jointe>";
                echo "<auteur>" . $row['Auteur'] . "</auteur>";
                echo "<lien>" . $row['Lien'] . "</lien>";
        }
        echo "</information>";
        }
?>
Dans le fichier js, j'ai fait ce test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
if(xmlDoc!=null)
				{

J'obtiens à chaque fois l'alerte me disant que mon retour est null.

Sauriez-vous me dire pourquoi j'obtiens à chaque fois un retour null ?

Merci d'avance.

beegees