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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
| // JavaScript Document
//window.onload = testerNavigateur;
//-----------------------------
function testerNavigateur(type_fab, type_proj) {
objetXHR = creationXHR();
if(objetXHR==null) {
document.getElementById("button").disabled= true;
var erreurNavigateur="Erreur Navigateur : Création d'objet XHR impossible";
remplacerContenu("info", erreurNavigateur);
document.getElementById("info").style.visibility="visible";
}
//alert("Fab: "+type_fab+" - Proj: " + type_proj);
document.getElementById("button").onclick=jouer;
document.getElementById("categorie").onchange=function() {recupScategorie(this.value);}
document.getElementById("scategorie").onchange=function() {demandePieces(type_fab, type_proj);}
}
//##############################MOTEUR AJAX 1############################################
function jouer() {
/*-----------------------------Config et envoi de la requete ASYNCHRONE : */
objetXHR = creationXHR();//création d'un objet XHR multi-navigateurs
var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
//construction de la chaine des parametres
var parametres = "categorie="+ codeContenu("categorie") +
"&scategorie="+ codeContenu("scategorie") +
"&anticache="+temps ;
//Config. objet XHR
objetXHR.open("get","gainAleatoire.php?"+parametres, true);
objetXHR.onreadystatechange = actualiserPage;//désignation de la fonction de rappel
//gestion du bouton et du chargeur
document.getElementById("button").disabled= true;
document.getElementById("charge").style.visibility="visible";
objetXHR.send(null);//envoi de la requete
/*---------------------------------------- */
}
function actualiserPage() {
if (objetXHR.readyState == 4) {//test si le résultat est disponible
if (objetXHR.status == 200) {
demandeGains();
var nouveauResultat = objetXHR.responseText.split(":");//recup du résulat > tableau
//actualisation du résultat
remplacerContenu("resultat", decodeURI(nouveauResultat[1]));
//actualisation du nom
remplacerContenu("gagnant", decodeURI(nouveauResultat[0]));
//affiche la zone info
document.getElementById("info").style.visibility="visible";
//gestion du bouton et du chargeur
document.getElementById("button").disabled= false;
document.getElementById("charge").style.visibility="hidden";
}else{
//message d'erreur serveur
var erreurServeur="Erreur serveur : "+objetXHR.status+" "+ objetXHR.statusText;
remplacerContenu("info", erreurServeur);
document.getElementById("info").style.visibility="visible";
//gestion du bouton et du chargeur
document.getElementById("button").disabled= false;
document.getElementById("charge").style.visibility="hidden";
//annule la requete en cours
objetXHR.abort();
objetXHR=null;
}
}
}
//##############################MOTEUR AJAX 3############################################
function demandePieces(type_fab, type_proj) {
//création d'un objet XHR multi-navigateurs
objetXHR3 = creationXHR();
var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
//construction de la chaine des parametres
var parametres3 = "scategorie="+ codeContenu("scategorie") +
"&fab="+ type_fab +
"&proj="+ type_proj +
"&anticache="+temps ;
//Config. objet XHR
// alert("URL: " + "piecesListe.php?"+parametres3)
objetXHR3.open("get","piecesListe.php?"+parametres3, true);
objetXHR3.onreadystatechange = affichepieces;//désignation de la fonction de rappel
objetXHR3.send(null);//envoi de la requete
}
function affichepieces() {
if (objetXHR3.readyState == 4) {//test si le résultat est disponible
if (objetXHR3.status == 200) {
listeJSON = objetXHR3.responseText;//recup du résulat > objet JSON
objetJSON3=listeJSON.parseJSON();
//créa des nouvelles lignes
var tableListe=document.getElementById("tableListe");
supprimerContenu(tableListe);
for(i=0;i<objetJSON3.pieces.length;i++){
var image=objetJSON3.pieces[i].image;
var reference=objetJSON3.pieces[i].reference;
var designation1=objetJSON3.pieces[i].designation1;
var raisonsoc=objetJSON3.pieces[i].raisonsoc;
var id=objetJSON3.pieces[i].id;
var nbResults=objetJSON3.pieces[i].nbPieces + ' produit(s) correspond(ent) a votre recherche';
if(i==0){
var tmpTR=document.createElement('tr');
var tmpTD=document.createElement('td');
var tmpTXT=document.createTextNode(nbResults);
tmpTD.setAttribute('colspan','4');
tmpTD.setAttribute('class','chevron');
tmpTD.appendChild(tmpTXT);
tmpTR.appendChild(tmpTD);
tableListe.appendChild(tmpTR);
}
nouvelleLigne(tableListe,designation1,raisonsoc,reference,id,image);
}
}else{
//message d'erreur serveur
var erreurServeur="Erreur serveur : "+objetXHR3.status+" "+ objetXHR3.statusText;
remplacerContenu("info", erreurServeur);
document.getElementById("info").style.visibility="visible";
//gestion du bouton et du chargeur
document.getElementById("button").disabled= false;
//annule la requete en cours
objetXHR3.abort();
objetXHR3=null;
}
}
}
//-----------------------------------------
function nouvelleLigne(tab,text1,text2, text3,text4) {
var nouveauTR=document.createElement('ul');
nouveauTR.setAttribute('class','rechliste')
//-----------------------------------------
var nouveauTD1=document.createElement('li');
nouveauTD1.setAttribute('class','descri');
var nouveauTXT1=document.createTextNode(text1);
nouveauTD1.appendChild(nouveauTXT1);
var nouveauTD2=document.createElement('li');
nouveauTD2.setAttribute('class','construc');
var nouveauTXT2=document.createTextNode(text2);
nouveauTD2.appendChild(nouveauTXT2);
var nouveauTD3=document.createElement('li');
nouveauTD3.setAttribute('class','liens');
var nouveauTXT3=document.createTextNode(text3);
nouveauTD3.appendChild(nouveauTXT3);
var nouveauTD4=document.createElement('li');
nouveauTD4.setAttribute('class','test')
nouveauTD3.setAttribute('class','ref');
//var nouveauA6=document.createElement('img');
//nouveauA6.setAttribute('src', '../images/'+text4'.gif');
// Bouton Détails
var nouveauA4=document.createElement('a');
nouveauA4.setAttribute('href','../detailproduit.php?id='+text4);
var nouveauA5=document.createElement('img');
nouveauA5.setAttribute('src','../img/detail.png');
nouveauA4.appendChild(nouveauA5);
nouveauTD4.appendChild(nouveauA4);
//------------------------------------------
nouveauTR.appendChild(nouveauTD1);
nouveauTR.appendChild(nouveauTD2);
nouveauTR.appendChild(nouveauTD3);
nouveauTR.appendChild(nouveauTD4);
//------------------------------------------
tab.appendChild(nouveauTR);
}
//##############################MOTEUR AJAX 4############################################
function recupScategorie(categorie) {
//reinitialise les options du menu 2 a chaque changement
document.getElementById("scategorie").options.length = 1;
//cas ou il n'y a pas de nom sélectionné
if (categorie == "") return null ;
//--------------------
objetXHR4 = creationXHR();//création d'un objet XHR multi-navigateurs
var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
//construction de la chaine des parametres
var parametres = "categorie="+ categorie +
"&anticache="+temps ;
//alert('scategorieListe.php?' + parametres);
//Config. objet XHR
objetXHR4.open("get","scategorieListe.php?"+parametres, true);
objetXHR4.onreadystatechange = creationMenu2;//désignation de la fonction de rappel
//gestion du bouton et du chargeur
objetXHR4.send(null);//envoi de la requete
/*---------------------------------------- */
}
function creationMenu2(){
if (objetXHR4.readyState == 4) {//test si le résultat est disponible
if (objetXHR4.status == 200) {
//recup du résulat au format TXT
var nouveauResultat = objetXHR4.responseText;
//conversion de chaine JSON en objet JSON
var objetJSON=nouveauResultat.parseJSON();
//création du menu dans le DOM>>dans fonction de rappel
for (i=0; i<objetJSON.listeScategorie.length; i++)
{
// var elementOption = document.createElement('option');
// var texteOption = document.createTextNode(objetJSON.listeScategorie[i].scategorie);
// elementOption.setAttribute('value',objetJSON.listeScategorie[i].etiquettesr);
// elementOption.setAttribute('value',objetJSON.listeScategorie[i].etiquettesr);
// elementOption.appendChild(texteOption);
// document.getElementById("scategorie").appendChild(elementOption);
var elmt = new Option(objetJSON.listeScategorie[i].descriptifsr, objetJSON.listeScategorie[i].etiquettesr);
var ddl = document.getElementById("scategorie");
ddl.add(elmt, null);
}
}
}
} |
Partager