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] actualiser un tableau sans recharger la page


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut [AJAX] actualiser un tableau sans recharger la page
    bonjour;

    j'ai un problème au niveau de l'actualisation de ma page php!
    je fais une mise a jour d'un champ dans mon tableau ca marche tres bien mais la page s'actualise en entier et m'ajoute une ligne qui est la dernière ligne de mon tableau (répetition)!! j'ai cherché et j'ai trouvé que ca se fait avec AJAX!! j'ai lu un tuto http://siddh.developpez.com/articles/ajax/!!
    mais je sais pas comment faire un code qui m'actualise que le tableau et qui prend en considération la mise a jour??? la mise à jour je l'effectue avec une requete simple update!!!

    merci de me répondre

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Suis pas sûr d'avoir tout pigé, mais si tu veux mettre à jour uniquement une partie de ton tableau HTML, tu peux effectivement effectuer une requête AJAX qui va te renvoyer les données de mise à jour.
    Ensuite tu manipules ta table via le DOM Html pour ajouter/modifier les lignes avec les données reçues.

    ERE

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut
    merci pour la réponses!mais comment faire ceci vous pouvez m'aidezencore plus avec un exemple de code?

    merci

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par lamiae2 Voir le message
    merci pour la réponses!mais comment faire ceci vous pouvez m'aidezencore plus avec un exemple de code?

    merci
    C'est difficile de te donner un code qui fasse ce que tu attends (pas assez d'info notamment) et si tu reprends le tutoriel AJAX ( http://siddh.developpez.com/articles/ajax/ ) tu peux quasiment faire un copier coller et ajouter ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    xhr.onreadystatechange = function(){
       // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
      if(xhr.readyState == 4 && xhr.status == 200){
         //A TOI DE MODIFIER TA TABLE ICI
     
      }
    }
    ERE

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    mais la page s'actualise en entier
    Je pense que tu as utilisé un submit au lieu d'un simple appel d'une fonction Ajax

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut Merci pour vos réponses!
    le problème je sais pas comment integrer ma requete qui fait updat dans ajax!!!!

  7. #7
    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 andry.aime Voir le message
    Salut,

    Je pense que tu as utilisé un submit au lieu d'un simple appel d'une fonction Ajax
    C'est le cas !!

    Dans le code qu'Andry t'as donné ensuite, tu peux voir qu'il s'agit toujours de type="button"

    type="submit" => actualise la page (= submit() le formulaire) avant ton appel Ajax
    type="button" => n'actualise pas la page avant ton appel Ajax

    Il faudrait que tu lises les réponses données avec un peu plus d'attention avant de conclure systématiquement "ça marche pas !", car tu avais la solution sous les yeux depuis un moment

    A+

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( isset($_POST['utiliser']))
    Fais bien attention à envoyer tes données en POST de puis AJAX


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    xhr.onreadystatechange = function(){
       // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
      if(xhr.readyState == 4 && xhr.status == 200){
         //je ne sias pas comment integrer ici ma requte d 'update???
         //FAIS un document.getElementById("XXX").innerHTML = xhr.responseText;
      }
    }
    ERE

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut Merci pour vos réponses!
    voila le code ajax que j'ai mis:
    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
    <script language="JavaScript" type="text/javascript">
    var HttpObj = null;
    var HttpStr = null;
     
    function sendRequest(HttpStr) {
     if ( window.XMLHttpRequest ) {
      // Objet XmlHttpRequest pour les moteurs GECKO
      HttpObj = new XMLHttpRequest();   
     } else if ( window.ActiveXObject ) {
      // Objet XmlHttpRequest pour Internet Explorer
      HttpObj = new ActiveXObject( 'Microsoft.XMLHTTP' );   
     } else {
      // Navigateur non-compatible
      alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );   
      return;
     }
     // On traite l'argument passé à la fonction
     // On ouvre la requete vers la page désirée
     HttpObj.open( 'GET', HttpStr, false );
     // On lui donne le pointeur de fonction de retour
     HttpObj.onreadystatechange = returnRequest;
     // On envoi la requete
     HttpObj.send( null );
    }
    function returnRequest() {
     // Sur le retour de la requete, on teste son état
     if ( HttpObj.readyState == 4 && HttpObj.status == 200) {
      // On injecte notre retour dans la DIV prevue a cet effet
      document.getElementById( 'liste' ).innerHTML = HttpObj.responseText;
     }
    } 
     
    function affiche(id){
     var strHtml = document.getElementById(id).value;
     sendRequest('Moneygems.php?str='+strHtml);
     alert(strHtml);
    }
    mais je ne sais pas comment passer mon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <?php 
    if( isset($_POST['utiliser']))
    {
    en ajax????

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    1-Tu n' envoies str dans ton AJAX mais tu récupères us et utilisateur dans la page php.
    sendRequest('Moneygems.php?str='+strHtml);
    ........
    $_POST['utiliser']....
    $_POST['us'].....
    2- Tu utilises GET dans l'AJAX et tu utilises POST pour le récupérer.
    HttpObj.open( 'GET', HttpStr, false );

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affiche(id){
     var strHtml = document.getElementById(id).value;
     sendRequest('Moneygems.php?str='+strHtml);
    $_POST['utiliser'];
    $_POST['us'];
     alert(strHtml);
     
    }
    !!!!!!!!!!!!! comme ca???

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut

    function affiche(id){
    var strHtml = document.getElementById(id).value;
    sendRequest('Moneygems.php?str='+strHtml);
    $_POST['utiliser'];
    $_POST['us'];
    alert(strHtml);
    }
    ne met pas du php dans js!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function affiche(id){
     var strHtml = document.getElementById(id).value;
     sendRequest('Moneygems.php?str='+strHtml)+'&utiliser='+LaValeurUtiliser+'&us='+LaValeurUs;
     alert(strHtml);
    et dans php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_GET['utiliser']...
    $_GET['us']
    parceque tu utilises GET en js
    HttpObj.open( 'GET', HttpStr, false );

  13. #13
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par lamiae2 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affiche(id){
     var strHtml = document.getElementById(id).value;
     sendRequest('Moneygems.php?str='+strHtml);
    $_POST['utiliser'];
    $_POST['us'];
     alert(strHtml);
     
    }
    !!!!!!!!!!!!! comme ca???
    Arrive un moment où il faut savoir ce que l'on fait. Du PHP ou du Javascript. Et lire un tutoriel ou deux, apprendre un minimum car on ne peut pas toujours passer son temps à faire des copier-coller.

    ERE

Discussions similaires

  1. [AJAX] Actualiser un panier sans recharger la page
    Par CrazyTermi dans le forum AJAX
    Réponses: 1
    Dernier message: 13/02/2015, 12h51
  2. [AJAX] Transmettre un formulaire sans rechargement de page
    Par micka39 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/11/2007, 12h20
  3. [AJAX] Comment envoyer au serveur une seul info sans recharger la page
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2007, 12h10
  4. [AJAX] Remplir un formulaire sans recharger la page
    Par houdazcom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/11/2007, 12h37
  5. [AJAX] Recharger un menu deroulant php sans recharger la page
    Par ns_deux dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 22/07/2006, 15h59

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