Created
January 23, 2017 19:43
-
-
Save lemire/0f0eba5cdff8de62013a7e35d4b0acd9 to your computer and use it in GitHub Desktop.
Fichier HTML pour ajax
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<header> | |
<script id="telephone" type="application/xml"> | |
<annuaire> | |
<individu><nom>Jean</nom><telephone>456-4321</telephone></individu> | |
<individu><nom>Pierre</nom><telephone>456-4221</telephone></individu> | |
<individu><nom>Jacques</nom><telephone>553-4221</telephone></individu> | |
<individu><nom>Marie</nom><telephone>456-4211</telephone></individu> | |
</annuaire> | |
</script> | |
<script> | |
// charge le document XML | |
function chargeXML() { | |
var monxml = document.getElementById("telephone").textContent; | |
return new DOMParser().parseFromString(monxml, "application/xml"); | |
} | |
// cette fonction exécute une expression XPath et offre | |
// un tableau comprenant les résultats. Si aucun résultat | |
// est trouvé, un tableau de longueur 0 est retourné. | |
function executeXPath(doc,path) { | |
var snapshot = doc.evaluate(path, doc, null, 7, null); | |
var nodes = []; | |
for (var i = 0; i < snapshot.snapshotLength; i++) { | |
nodes.push(snapshot.snapshotItem(i)); | |
} | |
return nodes; | |
} | |
// notre principale fonction | |
function trouveTelephone() { | |
var nom = document.getElementById('champ').value; | |
var doc = chargeXML(); | |
var monexpr = '...'; | |
var wheretowrite = document.getElementById('sol'); | |
var n = executeXPath(doc,monexpr); | |
var i; | |
var numeros = 0; | |
var mout = '<ol>'; | |
for(i = 0; i < n.length; ++i) { | |
mout += '<li>'; | |
if(n[i].textContent !== undefined) | |
mout += n[i].textContent; | |
numeros = numeros + 1 | |
mout += '</li>'; | |
} | |
mout += '</ol>'; | |
if(numeros == 0) { | |
wheretowrite.innerHTML = 'je ne trouve rien pour '+nom; | |
} else { | |
wheretowrite.innerHTML = mout; | |
} | |
} | |
</script> | |
</header> | |
<body> | |
<form> | |
<input type="field" id="champ" value="Jean" /> | |
<input type="button" value="cherche" | |
onclick="try{trouveTelephone();}catch(err) {alert(err.message);}" /> | |
</form> | |
<p id="sol" style="width:300px;background:#ccc"> Tapez un nom et appuyez sur le bouton. </p> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment