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] Début en Ajax: actualisé un partie en fonction d'un champ


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 54
    Points
    54
    Par défaut [AJAX] Début en Ajax: actualisé un partie en fonction d'un champ
    Voici j'ai un select fait dynamiquement par une base de donné
    au dessou j'ai le tableau correspondant au renseignement du champ

    je voudrais actualisé le tableaux en fonction du select

    donc voici j'appelle ma page de cette façon mapage.ph?ident = 01
    ça me donne les numero de dossier correspondant a cet identifiant dans le select
    et me met automatiquement les informations dessou concernant le premier dossier

    j'ai lu un peu des initiation sur l'ajax

    et j'ai fais :
    requete.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '&nbsp; &nbsp; <p><a href="javascript:getValeur()">Cliquez ici pour lancer la requête </a></p>';
     echo '<span id="zoneMessage">';
    requete SQL + tableau
    echo '</span>';
    ajax.js
    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
    var requete = null;
     
    function creerRequete() {
        try {
            requete = new XMLHttpRequest(); /* On essaye de créer un objet XmlHTTPRequest */
        } catch (microsoft) {
            /* Microsoft utilise une autre technique, on tente de créer un objet ActiveX */
            try {
                requete = new ActiveXObject('Msxml2.XMLHTTP');
            } catch(autremicrosoft) {
                /* On en teste une autre méthode si la première n'a pas marchée */
                try {
                    requete = new ActiveXObject('Microsoft.XMLHTTP');
                } catch(echec) {
                    /* Si aucune méthode ne fonctionne, il ne reste plus qu'à mettre à jour le navigateur ! */
                    requete = null;
                }
            }
        }
        if(requete == null) {
            alert('Votre navigateur ne semble pas supporter les objets XMLHttpRequest.');
        }
    }
     
    function getValeur() {
    	creerRequete(); /* initalise la variable globale "requete" */
     
    	valeur = document.getElementById('Doc').value; /* On récupère la valeur sélectionnée dans la liste déroulante */
     
    	var url = 'requete.php?ident='+valeur; /* On définie l'url à appeller en passant cette valeur */
     
    	requete.open('GET', url, true); /* Préparation d'une requête asynchrone de type GET */
     
    	requete.onreadystatechange = function() {
    		if(requete.readyState == 4) { /* 4 signifie que l'état est "complete" */
    			if(requete.status == 200) { /* code HTTP si tout est ok */
    				document.getElementById('zoneMessage').innerHTML = requete.responseText; // Traitement de la réponse, on met à jour notre span 'zoneMessage'
    			}
    		}
    	};
     
    	requete.send(null); /* Effectue la requête */
    }
    malheureusement cela ne fait rien!! mon explorer marque "erreur sur la page"

    j'ai aussi une question : le tableau est créé avec comme requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM $table WHERE $contenu = '$data'
    $data étant le contenu de mon select.
    malheureusement cette donnée est créée grâce a une requete faite au dessu
    donc je peux pas la mettre dans l'adresse?

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 262
    Points : 133
    Points
    133
    Par défaut
    Dans un premier temps tu as un tableau avec deux ou plusieurs colonnes:

    Disant code_client, nom_client.
    Dans la liste je presume que tu as les noms des clients tu veux faire :


    code permetant d'afficher les enregsitrements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_GET['code']))
    $query="select * from client where code_client='".$_GET['code']."'";
    else
    $query="select * from client";
    depuis une page php.

    //------------------------
    dans ta page de base
    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
     
    <html>
    <head>
    <script language="javascript">
    function change_anglais()
    { 
    var obj1=document.getElementById('code'); 
    var obj2=document.getElementById('nom'); 
    obj1.selectedIndex=obj2.selectedIndex;
    }
    //dans la function  qui en voit des données vers la page php tu implemente 
    // tu envois les données via la methode $_GET
    </script>
     
    </head>
    <div id='page'>
    </div>
    <?php
    .
    .
    .
    while($row1=mysql_fetch_array($result1))
            {
            $s1.= "<option value=\"".utf8_encode($row1['nom_client'])."\">".utf8_encode($row1['nom_client'])." </option>\n";
            $s2.= "<option value=\"".$row1['code_client']."\">".$row1['code_client']."</option>\n";
            }
            $s="<select name='nom' id='nom' onChange=\"attacher()\" style=\"WIDTH: 205px\">";
            $s.=$s1;
            $s.="</select>";
            $s.="<select name=\"".$c1."\" id=\"".$c1."\" style=\"display:none\">";
            $s.=$s2;
            
            echo $s;
    ?>	
    </html>

Discussions similaires

  1. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  2. [Prototype] Pauvre début en ajax
    Par albius18 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 08/11/2007, 10h51
  3. [AJAX] Débuts avec Sajax
    Par Ziltoid dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/10/2007, 13h28
  4. [AJAX] texte réponse Ajax dans un conteneur div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [AJAX] Autocomplétion + méthode Ajax
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2005, 16h24

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