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
|
<script type="application/javascript">
function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function refreshMarques() {
var listTypes = document.getElementById('types');
var idType = listTypes.options[listTypes.selectedIndex].value;
var xhr = getXMLHttpRequest();
if (idType != '') {
callAndRefresh('marques', '<?php echo ROOTPATH; ?>/insert/refreshMarques.php', 'type='+idType);
}
}
function refreshGammes() {
var listMarques = document.getElementById('marques');
var idMarque = listMarques.options[listMarques.selectedIndex].value;
var listTypes = document.getElementById('types');
var idType = listTypes.options[listTypes.selectedIndex].value;
if ((idMarque != '') && (idType != '')) {
callAndRefresh('gammes', '<?php echo ROOTPATH; ?>/insert/refreshGammes.php', 'marque='+idMarque+'&type='+idType);
}
}
function refreshImprimantes() {
var listGammes = document.getElementById('gammes');
var idGamme = listGammes.options[listGammes.selectedIndex].value;
var listMarques = document.getElementById('marques');
var idMarque = listMarques.options[listMarques.selectedIndex].value;
var listTypes = document.getElementById('types');
var idType = listTypes.options[listTypes.selectedIndex].value;
if ((idGamme != '') && (idMarque != '') && (idType != '')) {
callAndRefresh('imprimantes', '<?php echo ROOTPATH; ?>/insert/refreshImprimantes.php', 'gamme='+idGamme+'&marque='+idMarque+'&type='+idType);
}
}
function callAndRefresh(id, url, params) {
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function(){
// si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
{
document.getElementById("loader").style.display = "none";
// On se sert de innerHTML pour rajouter les options a la liste des "selections"
document.getElementById(id).innerHTML = xhr.responseText;
} else if (xhr.readyState < 4) {
document.getElementById("loader").style.display = "inline";
}
}
// on defini la methode (post) + le fichier de traitement + asynchrone (true)
xhr.open("POST", url , true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// on poste les parametres a transmettre au fichier qui fera le traitement
xhr.send(params);
}
</script> |
Partager