11548 sujets

JavaScript, DOM et API Web HTML5

Salut les professionnels Smiley cligne
Alors voila je suis en train de développer un tableau de bord avec un affichage de donner sur une même page. C'est donné peuvent être trié par statues grâce à une liste déroulante utilisant AJAX. Ce que j'aimerai faire c'est que la DIV contenant le tableau de données soit actualisé toutes les 5 minutes mais en gardant le paramètre choisi dans la liste déroulante.

Donc voila un extrait simplifier du code :

Index.PHP

<!-- Ici une liste déroulante permettant de définir un critère de tri -->
<div id="bandeau">
	<table width=100%>	
		<TR>
			<td width=33%>
				<form name="Classement" method="POST" >
					<fieldset>
					Choisir un type de classement :
					<select name="Lst_Classement" id="Lst_Classement" onchange="envoyerRequeteListeGet('Get_Tableau.php', this.value, 'tableau')" >
						<option value='-1'>Closed exclu</option>
						<option value='1'>Seulement New</option>
						<option value='2'>Seulement Inprog</option>
						<option value='3'>Seulement resolved</option>
						<option value='4'>Seulement Closed</option>
					</select>
				        </fieldset>
			        </form>
		        </td>
		        <td width=33%>
			        <img id="dcns" src="DCNS.jpg" HEIGHT="50px" />
		        </td>
		        <td>
		        </td>
	                </tr>
            </table>
</div>
<div id="tableau">
<!-- Ici est afficher le tableau avec les données -->
</div>


Get_Tableau.php

<!-- Requête avec if en fonction du tri le tout mis dans un tableau


FunctionAjax.js

  function getreqHttp() 
        { 
                var reqHttp = null ; 
                if(window.XMLHttpRequest) 
                { 
                        // pour Firefox (Mozilla) et autres 
                           reqHttp = new XMLHttpRequest();                                 
                } 
                else 
                { 
                        if(window.ActiveXObject) 
                        { 
                                //  pour Internet Explorer 
                                   try 
                                { 
                                        reqHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
                                } 
                                catch (e) 
                                { 
                                        reqHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                                } 
                        } 
                        else 
                        { 
                                // XMLHttpRequest non supporté par le navigateur 
                                  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
                            reqHttp = false; 
                        } 
                } 
        return reqHttp; 
        }         


        // pour la methode POST 
        function envoyerRequeteListePost(url , Classement, CodeId ) 
        { 
                //  récupération d'un objet XMLHttpRequest 
                var reqHttp = getreqHttp() ;                         
                if ( reqHttp == null) 
                {                         
                        alert("Impossible d'utiliser Ajax sur ce navigateur"); 
                } 
                else 
                {                                         
                        // appel d'une fonction anonyme (définie à la volée) 
                        reqHttp.onreadystatechange = function() 
                        {        // tester si tout s'est bien passé 
                        if (reqHttp.readyState == 4 && reqHttp.status == 200) 
                                {        // tout est ok 
                                        //  le résultat est récupéré via la propriété responseText                                         
                                        LesLivres = document.getElementById(CodeId); 
                                        LesLivres.innerHTML = reqHttp.responseText;                                         
                                 } 
                         } 
                                  
                         //  ouverture de la connexion avec le serveur 
                         reqHttp.open("POST", url, true) ;         
                         // obligatoire pour la méthode post 
                         reqHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
                        // recupération de l'objet correspondant à la catégorie selectionnée 
                        LesClassements = document.getElementById(Classement); 
                        //alert (LesClassements) ; 
                        CodeClassement = LesClassements.options[LesClassements.selectedIndex].value; 
                         //  envoi de la requête 
                        reqHttp.send("CodeClassement=" + CodeClassement);         
                        //alert(CodeClassement) ; 
                } 
                return ; 
        } 
                  
        // pour la méthode GET         
        function envoyerRequeteListeGet(url, idClassement, CodeId) 
        { 
                 //alert(idClassement + CodeId) ; 
                //  récupération d'un objet XMLHttpRequest 
                var reqHttp = getreqHttp() ;                         
                if ( reqHttp == null) 
                {                         
                        alert("Impossible d'utiliser Ajax sur ce navigateur"); 
                } 
                else 
                {                                                                 
                        // appel d'une fonction anonyme (définie à la volée) 
                        reqHttp.onreadystatechange = function() 
                        { 
                                // tester si tout s'est bien passé 
                                   if (reqHttp.readyState == 4 && reqHttp.status == 200) 
                                { 
                                        // la requête s'est correctement déroulée 
                                        //  le résultat est récupéré via la propriété responseText 
                                        LesPdt = document.getElementById(CodeId) ; 
                                        LesPdt.innerHTML= reqHttp.responseText;                                                                         
                                 }                                                                                                   
                        } 
                                  
                        //  ouverture de la connexion avec le serveur - méthode GET - asynchrone 
                        // escape permet de s'affranchir des problèmes liés aux caractères spéciaux 
                        //alert(idClassement) ; 
                        reqHttp.open("GET",url + "?CodeClassement=" + escape(idClassement), true); 
                        //  envoi de la requête 
                        reqHttp.send(null); 
                } 
                return ;


Voila si quelqu'un pouvais m'aidée parce que je galère un peu en JavaScript !
Merci d'avance pour l'aide Smiley biggol
Modifié par NarOneR (30 Jan 2012 - 13:02)
Bonjour alors c'est bon résolu avec la fonction suivante
function executeListeGet(){
    envoyerRequeteListeGet('Get_Tableau.php', document.GetElementById('"Lst_Classement').value, 'tableau');
    setTimeout("executeListeGet()",300000);
}

Modifié par NarOneR (30 Jan 2012 - 13:02)