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] Script multi navigateur ajax fonctionnel javascript


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut [AJAX] Script multi navigateur ajax fonctionnel javascript
    Alors avec cette fonction, il est possible d'appeler un page ou d'envoyer des formulaires en ajax dans une cellule ID avec une page de résultat contenant des fonctions java-script sans aucun problème sur tous les navigateurs.

    Voici le script :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    function donnee_get(form1)
    {
    var data1 = "";
    var forma = document.getElementById(form1);
    var elements = forma.elements;
    for(var i=0; i<forma.length; i++)
     {
     data1 += elements[i].name + "=" +escape(elements[i].value);
      if((i+1)<forma.length){data1+="&";}
     }
    return data1;
    }
    function post_get(fichier,div,method,form)
    {
    var xhr=null;
    var data="null";
     if(form!="null")
     {
      if(method=="GET")
      {
      data=form;
      method="POST";
      }
      else{data = donnee_get(form);}
     }
     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...");
     xhr = false;
     } 
    xhr.open( method,fichier,false);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(data);
    var c = document.getElementById(div);
    c.innerHTML = xhr.responseText;
     try
     {
     var l=c.getElementsByTagName('script').length
      for(var j=0;j<l;j++)
      {
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.text = c.getElementsByTagName('script').item(j).text;
      document.getElementsByTagName('head')[0].appendChild(script);
      }
     }
     catch(e)
     {
     alert(e);
     }
    }
    Voici comment utiliser cette fonction :

    // ces appels permettent d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destination, ici il n'y a pas de paramètre. Ce sont les appels de base, ils me servent notamment pour faire les liens hypertextes :

    post_get("monfichier.php", "div_de_destination", "GET", null)
    post_get("monfichier.php", "div_de_destination", "POST", null)


    // cet appel permet d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destination, les données du formulaire sont récupérées et mises en forme (également encodées avec la fonction escape, équivalent de l'url_encode de php) par la fonction donnee_get puis sont transmises par la méthode POST :

    post_get("monfichier.php", "div_de_destination", "POST", "mon_formulaire")

    // cet appel permet d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destination, les données du formulaire sont récupérées et mises en forme (également encodées avec la fonction escape, équivalent de l'url_encode de php) par la fonction donnee_get puis sont transmises par la méthode POST et les données a=1 et b=2 sont transmise par la méthode GET:

    post_get("monfichier.php?a=1&b=2", "div_de_destination", "POST", "mon_formulaire")

    En espérant que ceci aidera certain, bon script a tous

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta fonction c'est exactement ce dont j'ai besoin.

    J'ai par contre un problème d'utilisation, si je ne souhaite pas précisé la div de destination et écrire dans le fichier à l'emplacement où est appelé la fonction, comment je dois adapter ce script ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/08/2011, 11h50
  2. Réponses: 6
    Dernier message: 29/07/2010, 10h49
  3. [AJAX] Lancer une page Ajax via un formulaire et un javascript
    Par ccsuperstar dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 16/04/2008, 18h58
  4. [AJAX] Script Javascript et Ajax
    Par Azanael dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/05/2006, 22h48

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