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 :

[AJAX] Recharger un menu deroulant php sans recharger la page


Sujet :

JavaScript

  1. #21
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    En faite tous le code javascript sera générer dans le fichier php qui génère le <menu> . Eval() evalue tous le contenu javascript et l'execute.

  2. #22
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Alors.... ;-)
    alors quand je fais ce que tu me dis, c'est à dire :
    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
    function recharge(page,val){
    				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){
    					
    						// On se sert de innerHTML pour rajouter les options a la liste
    					        eval(xhr.responseText);
    						//document.getElementById('div'+val).innerHTML = xhr.responseText;
    					}
    				}
    
    				// Ici on va voir comment faire du Get
    				xhr.open("GET",page,true);
    				xhr.send(null);
    }
    avec ma requete_oam.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
            echo "<select name='oam' id='oam' style='width:240'>";
            echo "<option value=''></option>";
            require("connect_atelier.php");
            $req = 'SELECT DISTINCT oam FROM oam ';   
            $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() );
            while($row = mysql_fetch_assoc($res)){
                    echo "<option value='".$row["oam"]."'>".$row["oam"]."</option>";
                    }
            echo "</select>";  
    ?>
    J'ai une barre noire qui s'affiche sous mon menu alors que si je mets un alert :

    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
    function recharge(page,val){
    				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){
    					
    						// On se sert de innerHTML pour rajouter les options a la liste
    					        alert(eval(xhr.responseText));
    						//document.getElementById('div'+val).innerHTML = xhr.responseText;
    					}
    				}
    
    				// Ici on va voir comment faire du Get
    				xhr.open("GET",page,true);
    				xhr.send(null);
    }
    J'ai bien le bon resultat sur mon pop up. A plus rien y comprendre....

  3. #23
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    echo "document.getElementById('ton div').innerHTML = (variable) le menu généré par php.
    donc ton menu tu le stock dans une variable php donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	$str = "<select name='oam' id='oam' style='width:240'>";
            $str.= "<option value=''></option>";
    	require("connect_atelier.php");
    	$req = 'SELECT DISTINCT oam FROM oam ';   
    	$res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() );
    	while($row = mysql_fetch_assoc($res)){
    		        $str.="<option value='".$row["oam"]."'>".$row["oam"]."</option>";
    		}
    	        $str.="</select>";  
    echo 'document.getElementById("ton div").innerHTML = "'.$str.'"';';

  4. #24
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Dommage
    J'ai essaye ton code et apres avoir modifie qq trucs pour avoir comme resultat sur ma requete_oam.php :
    document.getElementById("divoam").innerHTML =menu_deroulant;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $str = "<select name='oam' id='oam' style='width:240'>\n";
            $str.= "<option value=''></option>\n";
    	require("connect_atelier.php");
    	$req = 'SELECT DISTINCT oam FROM oam ';   
    	$res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() );
    	while($row = mysql_fetch_assoc($res)){
    		        $str.="<option value='".$row['oam']."'>".$row['oam']."</option>";
    		}
    	        $str.="</select>";  
    echo 'document.getElementById("divoam").innerHTML = '.$str.';';(plus de guillemets)
    ?>
    J'ai bel et bien mon menu mais il s'efface des que je lache la souris et je ne peux prendre aucune valeur. Comme avant quoi...
    C quoi cet merde dans mon fichier lol

  5. #25
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Donc le probleme se trouve ailleur. il y a quelque chose qui fait appelle a cette fonction ou fait quelque chose sur ce <div> Conseille fait le teste sur une autre fichier vierge tu recommences à la mode ultra basic parce qu'il y a pas de raison que ça s'efface. tu essais avec différent navigateur.

  6. #26
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Le fichier Brute
    voila mon fichier brute de pomme et toujours le meme soucis. J'utilise Firefox 1.5.0.4

    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
     
    <script type="text/javascript">
    function getXhr()
    {
    	if (window.XMLHttpRequest) 
    	{
    		xhr = new XMLHttpRequest();
    	}
    	else if (window.ActiveXObject)  // if IE
    	{ 
    		var ieversions = ['Msxml2.XMLHTTP',
    						  'Microsoft.XMLHTTP',
    						  'Msxml2.XMLHTTP.5.0',
    						  'Msxml2.XMLHTTP.4.0',
    						  'Msxml2.XMLHTTP.3.0'
    						 ]; 
     
    		for(var i=0; !xhr && i<ieversions.length; i++) 
    		{ 
    			try
    			{
    				xhr = new ActiveXObject(ieversions[i]);
    			} 
    			catch(e) 
    			{ 
    				xhr = null;
    			}
    		}
    	}
     
    	if(!xhr)// XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    }
     
    function recharge(page,val){
    				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){
     
    						// On se sert de innerHTML pour rajouter les options a la liste 
    						//eval(xhr.responseText);
    					        document.getElementById('div'+val).innerHTML = xhr.responseText;
    					}
    				}
     
    				// Ici on va voir comment faire du Get
    				xhr.open("GET",page,true);
    				xhr.send(null);
    }
    </script> 
     
     
     
    <div id="divoam" onClick='recharge("requete_oam.php","oam")' >
          <select name="oam" id="oam" style="width:240" >     
          <option value=""></option>
          </select>
          </div>
    et ma requete_oam.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
            echo "<select name='oam' id='oam' style='width:240'>";
            echo "<option value=''></option>";
            require("connect_atelier.php");
            $req = 'SELECT DISTINCT oam FROM oam ';   
            $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() );
            while($row = mysql_fetch_assoc($res)){
                    echo "<option value='".$row["oam"]."'>".$row["oam"]."</option>";
                    }
            echo "</select>";  
    ?>

Discussions similaires

  1. [MySQL] selected dans un menu deroulant Php.
    Par sihammaster dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/06/2012, 14h36
  2. Charger une page sans recharger le menu flash
    Par overtrack dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 27/04/2009, 12h25
  3. [MySQL] Actualiser données PHP sans recharger page
    Par herve94400 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/10/2008, 15h44
  4. [SQL] Menu deroulant PHP dynamique requete SQL
    Par pit2121 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/12/2007, 16h16
  5. [AJAX] autocompletion sur menu deroulant
    Par bourvil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2007, 15h44

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