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] Ajax xmlhttpRequest : affichage d'un résultat dans une div


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut [AJAX] Ajax xmlhttpRequest : affichage d'un résultat dans une div
    Salut, j'ai créer un formulaire avec 2 champs: 1 input de type radio et un select. Le select se met a jour en fonction du premier bouton radio selectionné. Jusqu'ici tout va bien.
    Ensuite, je souhaite que le choix effectué dans le select affiche un texte spécifique dans une div en dessous du formulaire; Là, ca va toujours. le probleme c'est qu'a chaque changement de selection dans le select, le resultat dans la div s'ajoute au précèdent. hors je veux que l'ancien texte disparaisse pour laisser place au nouveau.

    Voila les codesle probleme vient surement des lignes en bleues.)
    le formulaire
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>AJAXXMLHttpRequest</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" href="style.css" type="text/css" />
    <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
    <h1>Fiche </h1>

    <div>
    <form action="" method="post" enctype="text/plain">
    <fieldset><legend><b>Choisissez un étudiantnn</b></legend>

    <input type="radio" name="anneeEtude" value="1" checked="checked"/>SRC1
    <input type="radio" name="anneeEtude" value="2"/>SRC2
    <input type="radio" name="anneeEtude" value="3"/>LP

    <label></label>
    <select id="liste" readonly="readonly">
    </select>
    </fieldset>

    </form>

    <div id="code2">
    </div>

    </body>
    </html>
    et le fichier ajax:
    window.onload=function(event){
    afficherId(event);
    }
    var xmlhttp = false;

    function afficherId(event){
    var tab = document.getElementsByTagName('input');
    var nb = tab.length;
    var i=0;
    while (i<nb) {
    tab.onclick=envoyerReponse;
    i++;
    }
    }

    function envoyerReponse(){

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
    {
    try
    {
    xmlhttp = new XMLHttpRequest();

    }
    catch (e)
    {
    xmlhttp = false;
    }
    }

    if (xmlhttp)
    {

    xmlhttp.onreadystatechange=traiterReponse;
    ;
    sendData('POST', 'remplir.php',"anneeEtude="+this.value );
    }
    return xmlhttp;
    }




    function traiterReponse() {

    if (xmlhttp.readyState==4 ) {

    if (xmlhttp.status==200) {

    document.getElementById("liste").innerHTML=xmlhttp.responseText;
    document.getElementById("liste").onchange=changerInfos;
    document.getElementById("code2").value=document.getElementById("liste").value;

    }else {

    }
    }
    }

    function changerInfos(){


    affiche = document.getElementById("code2");
    noeudTexte = document.createTextNode(document.getElementById("liste").value);
    affiche.appendChild(noeudTexte);


    }

    function sendData(method, url, data){


    if (!xmlhttp){
    return false;
    }

    if(method == "GET"){
    if(data == null){
    xmlhttp.open("GET", url, true); //ouverture asynchrone
    }else{
    xmlhttp.open("GET", url+"?"+data, true);
    }
    xmlhttp.send(null);
    }else if(method == "POST"){
    xmlhttp.open("POST", url, true); //ouverture asynchrone
    xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlhttp.send(data);

    }
    return true;
    }
    Bien sur, tout ça est en lien avec un fichier php et une base de données mais le probleme n'est pas là.

    Je pense que je devrais initialiser la div qui reçoit la valeur mais je n'y arrive pas !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Bon, en fait j'ai trouvé tout seul..
    Par contre, impossible d'avoir des sauts de ligne dans le contenu qui s'affiche, une idée?

Discussions similaires

  1. Affichage d'un résultat dans une interface
    Par alainb dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/02/2011, 19h08
  2. [AJAX] Affichage de requête PHP dans un div créé par Ajax
    Par will89 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/12/2007, 19h00
  3. [AJAX] Ajax Open XMLHttpRequest
    Par krovomi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/03/2007, 10h33
  4. [AJAX] Ajax et XmlHttpRequest (marche pas sous IE)
    Par krovomi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2007, 16h39
  5. [AJAX] Rafraichissement d'un fichier texte inclu dans une page
    Par gforce dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/01/2007, 11h41

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