onfinfra
This commit is contained in:
210
AP4/onfinfra/sv/sauvegardephp/Bucheron/js/main.js
Normal file
210
AP4/onfinfra/sv/sauvegardephp/Bucheron/js/main.js
Normal file
@@ -0,0 +1,210 @@
|
||||
//Cache et Iniitilise les différents element graphique de selection
|
||||
var zSelBuch = document.getElementById("selectBuch");
|
||||
var zSelSect = document.getElementById("selectSecteur");
|
||||
var searchEspece = document.getElementById("choixEspece");
|
||||
var zAffichEspece = document.getElementById("selectEspece");
|
||||
zSelBuch.hidden = true;
|
||||
zSelSect.hidden = true;
|
||||
searchEspece.hidden = true;
|
||||
zAffichEspece.hidden = true;
|
||||
|
||||
|
||||
//Script pour le calendrier
|
||||
var verrif = 0;
|
||||
var alertActive = 0;
|
||||
document.getElementById('selectD').onchange = function () {
|
||||
var dateSelect = document.getElementById('selectD').value;
|
||||
var date = Date.now();
|
||||
if (Date.parse(dateSelect) < date) {
|
||||
alert("Date déjà passer")
|
||||
alertActive = 1;
|
||||
document.getElementById("selectBuch").hidden = true;
|
||||
document.getElementById("selectSecteur").hidden = true;
|
||||
}
|
||||
if (verrif == 0 && alertActive == 0) {
|
||||
getBucheron();
|
||||
document.getElementById("selectBuch").hidden = false;
|
||||
verrif = 1;
|
||||
}
|
||||
alertActive = 0
|
||||
console.log(alertActive + "alert");
|
||||
console.log(verrif + "verif");
|
||||
}
|
||||
//Fin calendrier
|
||||
|
||||
selectBuch.onclick = function () {
|
||||
var bucheron = zSelBuch.options[zSelBuch.selectedIndex].value;
|
||||
console.log("bucheron =" + bucheron);
|
||||
getSecteur()
|
||||
}
|
||||
|
||||
selectSecteur.onclick = function () {
|
||||
var secteur = zSelSect.options[zSelSect.selectedIndex].value;
|
||||
console.log("secteur = " + secteur)
|
||||
getEspece(secteur);
|
||||
}
|
||||
|
||||
function cherche(catalog) {
|
||||
//Appel la methode qui charge tous les produits
|
||||
document.getElementById("choixEspece").addEventListener("keyup", function () {
|
||||
//Initialise la variable options qui contiendra tout le html a integrer
|
||||
AffichEspace(catalog, filtre.value);
|
||||
})
|
||||
}
|
||||
|
||||
function getBucheron() {
|
||||
var file = "include/getBucheron.php"
|
||||
var argument, valArgument = null;
|
||||
getAll(zSelBuch, file, argument, valArgument);
|
||||
}
|
||||
|
||||
function getSecteur() {
|
||||
var file = "include/getSecteur.php";
|
||||
var argument, valArgument = null;
|
||||
getAll(zSelSect, file, argument, valArgument);
|
||||
}
|
||||
|
||||
function getEspece(secteur) {
|
||||
var file = "include/getEspece.php"
|
||||
var argument = "selectSecteur="
|
||||
getAll(searchEspece, file, argument, secteur)
|
||||
}
|
||||
|
||||
function getAll(placeHTML, fichierPHP, argument, valArgument) {
|
||||
var options = "";
|
||||
placeHTML.innerHTML = "";
|
||||
// Construction de la requ<71>te
|
||||
httpRequest = new XMLHttpRequest();
|
||||
// Code s'ex<65>cutant quand la r<>ponse du serveur est arriv<69>e
|
||||
httpRequest.onreadystatechange = function () {
|
||||
if (httpRequest.readyState === XMLHttpRequest.DONE) {
|
||||
// tout va bien, une r<>ponse a <20>t<EFBFBD> re<72>ue
|
||||
if (httpRequest.status === 200) {
|
||||
// Succ<63>s
|
||||
//Recupération des données sous forme JSON
|
||||
var json = JSON.parse(httpRequest.responseText);
|
||||
/* Mise de ce résultat dans une autre fonction (ce qui évite d'utiliser la fonction de base
|
||||
* qui effectue une requette a chaque fois*/
|
||||
var file = json;
|
||||
//Appel de la methode cherche qui met en place le système de recherche
|
||||
//Appel de la methode d'affichage de tout les produits
|
||||
//produitBase(file, filtre.value);
|
||||
if (placeHTML == zSelBuch) {
|
||||
afficheBucheron(file);
|
||||
}
|
||||
if (placeHTML == zSelSect) {
|
||||
afficheSecteur(file);
|
||||
}
|
||||
if (placeHTML == searchEspece) {
|
||||
console.log("search")
|
||||
cherche(file);
|
||||
zAffichEspece.hidden = false;
|
||||
}
|
||||
} else {
|
||||
alert("Erreur, status : " + httpRequest.status);
|
||||
// il y a eu un probl<62>me avec la requ<71>te,
|
||||
// par exemple la r<>ponse peut <20>tre un code 404 (Non trouv<75>e)
|
||||
// ou 500 (Erreur interne au serveur)
|
||||
}
|
||||
} else {
|
||||
// pas encore pr<70>te
|
||||
}
|
||||
};
|
||||
// Initialisation et envoi de la requ<71>te
|
||||
httpRequest.open('POST', fichierPHP, true);
|
||||
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
if (argument == null && valArgument == null) {
|
||||
httpRequest.send();
|
||||
} else {
|
||||
httpRequest.send(argument + escape(valArgument));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function afficheBucheron(listB) {
|
||||
verrif = 0;
|
||||
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
|
||||
var options = "";
|
||||
//parcours la liste des bucherons
|
||||
for (var i = 0; i < listB.lesBucherons.length; i++) {
|
||||
//Recupération des informations.
|
||||
var id = listB.lesBucherons[i].id;
|
||||
var nom = listB.lesBucherons[i].nom;
|
||||
var prenom = listB.lesBucherons[i].prenom;
|
||||
var complet = nom + " " + prenom;
|
||||
//ajout du code HTML pour afficher les bucherons dans le select
|
||||
options += "<option value='" + id + "'>" + complet + "</option>;"
|
||||
}
|
||||
//Insertion de la variable dans le html
|
||||
document.getElementById("selectBuch").innerHTML = options;
|
||||
}
|
||||
|
||||
function afficheSecteur(listS) {
|
||||
zSelSect.hidden = false;
|
||||
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
|
||||
var options = "";
|
||||
//parcours la liste des bucherons
|
||||
for (var i = 0; i < listS.lesSecteurs.length; i++) {
|
||||
//Recupération des informations.
|
||||
var id = listS.lesSecteurs[i].id;
|
||||
var libelle = listS.lesSecteurs[i].libelle;
|
||||
//ajout du code HTML pour afficher les bucherons dans le select
|
||||
options += "<option value='" + id + "'>" + libelle + "</option>;"
|
||||
}
|
||||
//Insertion de la variable dans le html
|
||||
zSelSect.innerHTML = options;
|
||||
}
|
||||
|
||||
/*function cherche(listE) {
|
||||
searchEspece.parentNode.hidden = false;
|
||||
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
|
||||
var options = "";
|
||||
//parcours la liste des bucherons
|
||||
for (var i = 0; i < listE.lesEspeces.length; i++) {
|
||||
//Recupération des informations.
|
||||
var libelle = listE.lesEspeces[i].libelle;
|
||||
//ajout du code HTML pour afficher les bucherons dans le select
|
||||
options += "<option value='" + libelle + "'/>"
|
||||
}
|
||||
//Insertion de la variable dans le html
|
||||
searchEspece.innerHTML = options;
|
||||
}
|
||||
*/
|
||||
|
||||
function AffichEspace(catalog, saisie) {
|
||||
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
|
||||
var options = "";
|
||||
//si la zone de saisie n'est pas vide, continue la methode
|
||||
if (saisie != "") {
|
||||
//parcours la liste des produit
|
||||
for (var i = 0; i < catalog.lesEpeces.length; i++) {
|
||||
//Si la chaine est contenue au début d'un num d'un des elements js, n'affiche que celui ci
|
||||
if (catalog.lesEpeces[i].libelle.toLowerCase().indexOf(saisie.toLowerCase()) == 0) {
|
||||
//Recupération des informations.
|
||||
var libelle = catalog.lesEpeces[i].libelle;
|
||||
//ajout du code HTML pour afficher les produits dans la variable
|
||||
opt = "<option value='" + libelle + "'>" + libelle + "</option>;"
|
||||
/*Si l'id du produit est différent d'une des valeurs des balise option
|
||||
* présent dans zlProduit alors ajoute ce dernier dans la variable qui servira pour
|
||||
* integrer le html dans zlProduit*/
|
||||
if (zAffichEspece.querySelectorAll("option").value != id)
|
||||
//incrémenation de la variable
|
||||
options += opt;
|
||||
}
|
||||
}
|
||||
//Insertion de la variable dans le html
|
||||
zAffichEspece.innerHTML = options;
|
||||
} else {
|
||||
var affiche = "";
|
||||
for (var i = 0; i < catalog.lesEpeces.length; i++) {
|
||||
//Recupération des informations
|
||||
var id = catalog.lesEpeces[i].id;
|
||||
var libelle = catalog.lesEpeces[i].libelle;
|
||||
//ajout du code HTML pour afficher les produits dans la variable
|
||||
affiche += "<option value='" + id + "'>" + libelle + "</option>;"
|
||||
//le "+=" veux dire de prendre l'ancien résultat et de l'addition avec le nouveau
|
||||
}
|
||||
//Insertion dans le html
|
||||
zAffichEspece.innerHTML = affiche;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user