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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    19
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 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 habitu�
    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
    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