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
|
window.onload = initAll;
var xhr = null ;
var mairie = new Array();
function initAll() {
document.getElementById("formulaire").onkeyup = chercher;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
else{
if(window.ActiveXObject){
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) { }
}
}
if (xhr) {
xhr.onreadystatechange = setmairies;
xhr.open("GET", "mairie.xml", true);
xhr.send(null);
}
else {
alert("Désolé, votre navigateur n'est pas compatible avec Ajax :( ");
}
}
function setmairies() {
if (xhr.readyState == 4 ) {
if (xhr.status == 200) {
if (xhr.responseXML) {
var toutes_mairies = xhr.responseXML.getElementsByTagName("tb_mairie");
for ( var i=0; i < toutes_mairies.length; i++) {
mairie[i] = toutes_mairies[i].getElementsByTagName("nom")[1].lastChild;
}
}
}
else {
alert("Il y a un problème avec la requète " + xhr.status);
}
}
}
function chercher() {
var str = document.getElementById("formulaire").value;
document.getElementById("formulaire").className = "";
if (str != "") {
document.getElementById("popups").innerHTML = "";
for ( var i = 0 ; i < mairie.length ; i++) {
var cette_mairie = mairie[i].nodeValue;
if ( cette_mairie.toLowerCase().indexOf(str.toLowerCase()) == 0) {
var tempDiv = document.createElement("div");
tempDiv.innerHTML = cette_mairie ;
tempDiv.onclick = choix;
tempDiv.className = "suggestions";
document.getElementById("popups").appendChild(tempDiv) ;
}
}
var liste = document.getElementById("popups").childNodes.lenght;
if (liste == 0) {
document.getElementById("formulaire").className = "error";
}
if (liste == 1) {
document.getElementById("formulaire").value = document.getElementById("popups").firstChild.innerHTML;
document.getElementById("popups").innerHTML = "";
}
}
}
function choix(evt) {
var thisDiv = (evt) ? evt.target : window.event.srcElement ;
document.getElementById("formulaire").value = thisDiv.innerHTML;
document.getElementById("popups").innerHTML = "";
} |
Partager