| 12
 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