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] Tableau triable ajax


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut [AJAX] Tableau triable ajax
    Bonjour,

    Me voici confronté à un gros problème.

    Explication : J'ai une page php nommé index.php qui dispose de deux grandes parties. La partie du haut est tout ce qui filtre c'est à dire un formulaire composé de plusieurs input select et radio. Quand je clique sur le bouton rafraichir je fais appel à une fonction javascript qui va me lire tous mes filtres et me les envoyer sur une autre page php nommé table.php grâce à ajax. sur cette page je fabrique une requete avec mes filtres une fois le traitement achevé le serveur me renvoie un responseText que j'inclus dans ma première page php grâce à un innerHTML. ( Le traitement peu être très lourds et long ). Dans table.php, j'ai donc une table qui affiche le résultat de la requête avec comme entête

    <script type="text/javascript" src="javascripts/sorttable.js">
    echo "<table name='statistique' class='sortable'>";

    Au retour de ce responseText, je n'ai pas le tableau triable, comment pourrais-je avoir un tableau triable en javascript au retour d'une page php interprété par de l'ajax ?

    Merci d'avance. A bientôt.

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut
    Peu tu m'en dire un peu plus je ne comprends pas ce que tu veu me montrer ?

  4. #4
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!


    Bin si j'ai bien compris ton message, tu cherches à trier un tableau sur le client sans avoir à recharger les données.
    Donc l'URL que je t'ai donnée explique comment trier un tableau en javascript.
    Pour voir le code au travail, tu cliques simplement sur les headers du tableau (en blanc) et le tableau se trie selon le critère choisi (name, salary, extension, ...)

    Voilà voilà...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut
    Je vais te mettre ça car je crois que c'est pas tout à fait ça mon problème, ce que tu veu m'expliquer c'est je crois dans le cas le plus simple mais bien sur c'est pas celui la le mien ^^ dis moi si tu comprends mieux comme ça :

    J'ai une page index.php :
    - Comprends un formulaire
    - Un input onclick="envoyer()" --> envoyer se trouve dans fonction.js

    Ensuite fonction.js
    - Comprends ceci :
    Code : JavaScript
    var xhr = null;


    function getXhr()
    {
    if(window.XMLHttpRequest)
    {
    xhr = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
    try
    {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else
    {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour");
    xhr = false;
    }
    }


    function envoyer()
    {
    getXhr();
    xhr.onreadystatechange = function()
    {
    if(xhr.readyState == 4 && xhr.status == 200)
    {
    document.getElementById('StatBox').innerHTML = xhr.responseText;
    }
    else if(xhr.readyState == 3)
    {
    document.getElementById('StatBox').innerHTML = "Veuillez patienter traitement en cours ... <br><br> <img src='Image/chargement.gif' alt='chargement'> <br><br> Attention : temps d'attente plus ou moins long suivant la requête demandée.";
    }
    }
    xhr.open("POST",'table.php',true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    var analyse = document.getElementById('id_analyse_par').value ;
    var magasin = document.getElementById('id_magasin').value ;
    var datedeb = document.getElementById('id_datedeb').value ;
    var datefin = document.getElementById('id_datefin').value ;
    var client = document.getElementById('client').value ;
    var famille_article = document.getElementById('id_famille_article').value ;
    var article = document.getElementById('article').value ;
    var sous_famille_article = document.getElementById('id_sous_famille_article').value ;
    var fournisseur = document.getElementById('id_fournisseur').value ;
    for( var i = 0; i < 4; i++)
    {
    if(document.forms[0].achatvente[i].checked == true)
    {
    var achatvente = document.forms[0].achatvente[i].value ;
    }
    }
    xhr.send("analyse="+analyse+"&magasin="+magasin+"&datedeb="+datedeb+"&datefin="+datefin+"&client="+client+"&famille_article="+famille_article+"&article="+article+"&sous_famille_article="+sous_famille_article+"&fournisseur="+fournisseur+"&achatvente="+achatvente);
    }

    Ensuite j'ai table.php qui contient :

    <script type="text/javascript" src="javascripts/sorttable.js">
    echo "<table name='statistique' class='sortable'>";
    mon tableau
    echo "</table>";


    Et donc dans la fonction envoyer() me renvoie dans ma première page ce tableau mais pourquoi n'est il pas triable ? Il n'y a aucune solution ?

  6. #6
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    La fonction envoyer() place tous les résultats de la requête en vrac dans l'élément dont l'ID est "StatBox".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('StatBox').innerHTML = xhr.responseText;
    Cet élément "StatBox" se trouve dans la page index.php.

    Où voudrais-tu placer les résultats de la requête? Dans l'élément dont le nom est "statistique "et qui se trouve dans la page table.php?

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

Discussions similaires

  1. Tableau dynamique (Ajax)
    Par sliderman dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/05/2008, 17h56
  2. Tableau dynamique (Ajax)
    Par sliderman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/05/2008, 22h16
  3. [AJAX] Tableau JavaScript en arguments
    Par sliderman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/02/2008, 17h55
  4. [AJAX] Compléter un tableau avec Ajax
    Par nic2t dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/02/2008, 16h35
  5. [AJAX] tableau en temps réel
    Par swissmade dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2007, 14h36

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