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] Question sur le statut qui passe de 1,2,3,4 et puis 1


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut [AJAX] Question sur le statut qui passe de 1,2,3,4 et puis 1
    Bonsoir,

    J'ai mis un alert comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		alert(xhr2.readyState);
    		if(xhr2.readyState == 4 && (xhr2.status == 200 || xhr2.status == 0 ) )
    Est-ce normal que j'obtienne :

    1,2,3,4 et puis 1

    C'est le dernier 1 qui m'intrigue.

    MA liste déroulante ne se remplit pas en tout cas.

    Voici mon code ajax :

    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
    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 
    	{ 	
     
    		xhr = false; 
    	} 
    	return xhr;
    }
    	function fnctcategories(type)
    	{
    		var xhr3 = getXhr();
    		xhr3.onreadystatechange = function()
    		{
    			if(xhr3.readyState == 4 && (xhr3.status == 200 || xhr3.status == 0 ) )
    			{
    				alert('coolType');
    				leselect3 = xhr3.responseText;
    				document.getElementById('select_Nom_types').innerHTML = leselect3;
    			}
    		}
     
    	}
     
     
    function fnctcours(cours)
    {
    	var xhr2 = getXhr();
     
    	xhr2.onreadystatechange = function()
    	{
    		alert(xhr2.readyState);
    		if(xhr2.readyState == 4 && (xhr2.status == 200 || xhr2.status == 0 ) )
    		{
    			leselect2 = xhr2.responseText;
     
    			document.getElementById('select_Nom_types').innerHTML = leselect2;
    			//alert(leselect2);
    			fnctcategories(document.getElementById('select_Nom_types').value);				
    		}
    	}
     
    	xhr2.open("POST","Scripts/ajaxTypes.php",true);
     
    	xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	alert(cours);
    	xhr2.send("MNEMONIC="+cours);	
    }
    et mon code 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
    <?php
    session_start();
     
    //print_r($_POST);
            if(isset($_POST["MNEMONIC"]))
            {
            
                    
                    $conn = mysql_connect("localhost","root","mdp"); 
                    $db=mysql_select_db("pharma", $conn);
                    $res = "SELECT DISTINCT TYPE_DE_COURS FROM cours WHERE MNEMONIC IN (SELECT DISTINCT MNEMONIC FROM enseigner WHERE MATRICULE_PROF = '" . $_SESSION[Matricule] . "'AND MNEMONIC = '" .$_POST["MNEMONIC"]. "') AND NOM_ANNEE = '" . $_SESSION[ANNEE] . "'";
                    
                            
                    $res = mysql_query($res, $conn); 
                    
                    
                            
     
                    
                    
                    $nombre = mysql_num_rows($res);
                    
     
     
                    while($row = mysql_fetch_assoc($res))
                    {
                            
                            echo "<option value='".$row["TYPE_DE_COURS"]."'>".$row["TYPE_DE_COURS"]."</option>";
                    }
            }
            else echo'<script LANGUAGE="JavaScript">alert("pas bon");</SCRIPT>';
     
    ?>
    Merci d'avance.

    beegees

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Re !
    Pour IE, tu ne peux pas te contenter de renvoyer que les options : il faut aussi renvoyer les balises <select></select> (avec leur propriétés, bien sûr).

    Du coup, c'est le conteneur dont tu dois modifier le innerHTML, et non celui du select lui-même

    EDIT : par contre, ta balise <script> ne sera pas interprétée

    A+

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Re !
    Pour IE, tu ne peux pas te contenter de renvoyer que les options : il faut aussi renvoyer les balises <select></select> (avec leur propriétés, bien sûr).

    Du coup, c'est le conteneur dont tu dois modifier le innerHTML, et non celui du select lui-même
    Re,

    Sais-tu me montrer un exemple pour IE stp ?

    EDIT : par contre, ta balise <script> ne sera pas interprétée
    Quel <script> ? tous ?

    Merci encore pour ton aide.

    beegees

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par beegees Voir le message
    Sais-tu me montrer un exemple pour IE stp ?
    Heu ... ... y a juste tes balises <select> à ajouter dans ton code
    Qu'est-ce qui te bloque ?

    Citation Envoyé par beegees Voir le message
    Quel <script> ? tous ?
    Il n'y en a qu'une dans ton code posté

    A+

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Salut,

    Un tout grand merci pour ta réponse très importante car en effet, j'avais un problème avec IE.

    Encore un tout grand merci à toi.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Question sur ajax / rails
    Par Alec dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 05/04/2008, 00h37
  2. [Sécurité] Question sur les mots de passes
    Par wallawalla dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 17h51
  3. [AJAX] Question sur AJAX
    Par R@IZER dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/04/2006, 19h45
  4. [AJAX] Question sur un tutos ajax
    Par maximenet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/03/2006, 21h05

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