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] argument requête POST


Sujet :

AJAX

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 41
    Par défaut [AJAX] argument requête POST
    Bonjour,

    Voilà je cherche à faire des listes déroulantes liées. J'ai bien entendu regardé la doc.
    Alors le contexte, on a plusieurs services, lorsqu'on en sélectionne un, on a le choix entre plusieurs antennes puis lors du choix de l'antenne, on a plusieurs équipes propre à cette antenne.
    Pour le moment je n'ai fait que la partie service/antenne.

    Voilà mes fichiers :

    traitement.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
    function getXhr()
    {
    	var xhr = null;
    	if(window.XMLHttpRequest) // Firefox etc...
    		xhr = new XMLHttpRequest();
    	else if(window.ActiveXObject)
    	{
    		try{
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		} catch (e) {
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
    	else 
    	{
    		alert("Votre navigateur ner supporte pas les objets XMLHTTPRequest...");
    		xhr = false;
    	}
    	return xhr;
    }
     
    /* Appel de la methode lors de la selection */
    function go()
    {
    	var xhr = getXhr();
    	xhr.onreadystatechange = function()
    	{
    		if(xhr.readyState == 4 && xhr.status == 200)
    		{
    			leselect = xhr.responsetext;
    			document.getElementById('antenne').innerHTML = leselect;
    		}
    	}
    	xhr.open("POST","refreshAntennes.php",true);
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	sel = document.getElementById('service');
    	idservice = sel.options[sel.selectedIndex].value;
    	//alert(idservice); //verif que la bonne valeur est stockée
    	xhr.send("idservice="+idservice);
    }
    Code html : 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
    <body>
    	<form>
    		<fieldset style = "width: 500px">
    			<legend> Liste liées</legend>
    			<label>Services</label>
    			<select name='service' id='service' onchange='go()'>
    				<option value='-1'>Aucun</option>
    				<?php
                                            include("connect.php");
                                            $res = mysql_query("SELECT Id_service AS ids, Lib_service
                                                    FROM SERVICE
                                                    ORDER BY No_Service");
                                            while($row = mysql_fetch_assoc($res))
                                            {
                                                    echo "<option value='".$row["ids"]."'>".$row["Lib_service"]."</option>";
                                            }
                                    ?>
    			</select>
    			<label>Antenne</label>
    			<div id='antenne' style='display:inline'>
    			<select name='antenne'>
    				<option value='-1'>---- Antenne---</option>
    			</select>
    			</div>
    		</fieldset>
    	</form>
    </body>

    refreshAntennes.php

    Code php : 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
    <?php
    echo"<select name='antenne'>";
    if(isset($_POST["idservice"]))
    {
    	$champs = $_POST['idservice'];
    	include("connect.php");
    	echo ($_POST["idService"]);
    	$sql = mysql_query('SELECT Id_antenne AS ida,No_antenne, Lib_antenne
    		 FROM ANTENNE
    		 WHERE Id_service = $champs
    		 ORDER BY No_antenne');
    	while($row= mysql_fetch_assoc($res))
    	{
    		echo "<option value='".$row["ida"]."'>".$row["Lib_antenne"]."</options>";
    	}
    }
    echo "</select>";
    ?>

    La requête POST est bel et bien effectué. Coté JS la valeur du choix du service est bel et bien stockée et c'est bien l'id qui est gardée. Lorsque je sélectionne un service, la liste déroulante "antenne" se met directement en "Undefined".

    Merci d'avance et bonne journée

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 41
    Par défaut
    Question bête pour réponse bête les problèmes se situaient :

    • partie js: erreur au niveau de la syntaxe responsText et non responsetext
    • fichier traitement.php : erreur de débutant :s select ne comportait d'id

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

Discussions similaires

  1. [AJAX] Requête POST en Ajax
    Par abc.xyz dans le forum AJAX
    Réponses: 17
    Dernier message: 10/01/2015, 23h27
  2. Erreur 500 dans une requête POST AJAX
    Par Netci dans le forum Services Web
    Réponses: 0
    Dernier message: 07/05/2013, 12h31
  3. [AJAX] Requête post Ajax et JSON
    Par tralloc dans le forum jQuery
    Réponses: 5
    Dernier message: 07/11/2012, 23h12
  4. Réponses: 11
    Dernier message: 03/05/2011, 00h22
  5. [AJAX] XhrObj, requête en POST
    Par Paulo62 dans le forum AJAX
    Réponses: 10
    Dernier message: 09/03/2011, 18h47

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