Bonjour à tous.
Je débute en AJAX et je bute sur un truc.
J'utilise 2 fonctions que voici :
Puis, dans la page qui démarre l'ajax, j'ai :
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 function sendData(data, page, method, loc) { if(document.all) { //Internet Explorer var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; } else { //Mozilla var XhrObj = new XMLHttpRequest(); } //définition de l'endroit d'affichage: var content = document.getElementById(loc); //si on envoie par la méthode GET: if(method == "GET") { if(data == 'null') { //Ouverture du fichier sélectionné: XhrObj.open("GET", page); } else { //Ouverture du fichier en methode GET XhrObj.open("GET", page+"?"+data); } }//fin if else if(method == "POST") { //Ouverture du fichier en methode POST XhrObj.open("POST", page); }//fin elseif //Ok pour la page cible XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200){ content.innerHTML = XhrObj.responseText; } } if(method == "GET") { XhrObj.send(null); } else if(method == "POST") { XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(data); }//fin elseif }//fin fonction SendData function changeProduit(taille, couleur, id_cat, qte) { sendData('taille='+taille+'&couleur='+couleur+'&id_cat='+id_cat+'&qte='+qte, 'taille_ajax.php', 'POST', 'id_taille'); sendData('taille='+taille+'&couleur='+couleur+'&id_cat='+id_cat+'&qte='+qte, 'couleur_ajax.php', 'POST', 'id_couleur'); sendData('taille='+taille+'&couleur='+couleur+'&id_cat='+id_cat+'&qte='+qte, 'bouton_ajax.php', 'POST', 'bouton_acheter'); sendData('taille='+taille+'&couleur='+couleur+'&id_cat='+id_cat+'&qte='+qte, 'photo_ajax.php', 'POST', 'id_photo'); sendData('taille='+taille+'&couleur='+couleur+'&id_cat='+id_cat+'&qte='+qte, 'form_ajax.php', 'POST', 'id_lien'); }
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 echo "<FORM name=\"choix_taille_couleur\" method=\"POST\" action=\"".$_SERVER["REQUEST_URI"]."\">"; echo "<div id=\"id_taille\"><a href=\"javascript:void(0);\" onClick=\"changeProduit('".$code_prod."', '".$code_prod."', '".$id_cat."', '1');\" />Cliquer pour choisir couleur et taille</a></div>"; echo "<div id=\"id_taille\"></div>"; echo "<div id=\"id_couleur\"></div>"; echo "<div id=\"bouton_acheter\"></div>"; echo "</FORM>";
Mon but est que lorsque la page s'affiche, la fonction changeProduit() soit exécutee une première fois, sans intervention de l'internaute.
J'ai voulu essayer ceci :
Mais j'ai une erreur dans la fonction sendData().
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 echo "<script language=\"JavaScript\">"."\n"; echo "<!--"."\n"; echo "changeProduit(\"".$code_prod."\", \"".$code_prod."\", \"".$id_cat."\", \"1\");"."\n"; echo "// -->"."\n"; echo "</script>"."\n";
J'ai donc dû mettre ceci :
Mais franchement, c'est du bricolage et pas du tout pratique pour l'internaute.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo "<div id=\"id_taille\"><a href=\"javascript:void(0);\" onClick=\"changeProduit('".$code_prod."', '".$code_prod."', '".$id_cat."', '1');\" />Cliquer pour choisir couleur et taille</a></div>";
Comment faire donc pour que la fonction changeProduit() fonctionne au chargement de la page (et donc que la fonction sendData() qu'elle appelle fonctionne) ?
Partager