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 :
Voici comment utiliser cette fonction :
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); } }
// 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
Partager