Bonjour à tous.

Je débute en AJAX et je bute sur un truc.

J'utilise 2 fonctions que voici :
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');
}
Puis, dans la page qui démarre l'ajax, j'ai :
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 :
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";
Mais j'ai une erreur dans la fonction sendData().

J'ai donc dû mettre ceci :
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>";
Mais franchement, c'est du bricolage et pas du tout pratique pour l'internaute.

Comment faire donc pour que la fonction changeProduit() fonctionne au chargement de la page (et donc que la fonction sendData() qu'elle appelle fonctionne) ?