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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
<html>
<head>
<script>
function loadXML(){
if (document.implementation && document.implementation.createDocument) {
var xmldoc=document.implementation.createDocument("","",null);
xmldoc.load("/test.xml");
} else if (window.ActiveXObject) {
var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
xmldoc.load("/test.xml");
}
test_xml(xmldoc);
}
function test_xml(obj)
{
var liste = document.getElementById("conteneur");
liste.innerHTML = "";
var t_con = obj.getElementsByTagName('LISTE');
alert("debut parcours");
if (t_con.length>0)
{
for(i=0;i<t_con[0].childNodes.length;i++)
{
var code = "";
var valeur = "";
var node = t_con[0].childNodes[i];
if (node.nodeType == 1)
{
if(node.firstChild)
{
switch(node.nodeName)
{
case "OBJET" :
alert("1 OBJET rencontré...création de son radio");
for(j=0;j<node.childNodes.length;j++)
{
var enfant = node.childNodes[j];
if (enfant.nodeType == 1)
{
if(enfant.firstChild)
{
switch(enfant.nodeName)
{
case "CODE" : code = enfant.firstChild.nodeValue;break;
case "VALEUR" : valeur = enfant.firstChild.nodeValue;break;
}
}
}
}
liste.innerHTML+="<input type=\"radio\" name=\"chp_radio\" id=\"chp_num_"+code+"\" value=\""+code+"\" /> : "+code+" ("+valeur+")<br />";
document.getElementById("chp_num_"+code).valeur = valeur;
addEvent("chp_num_"+code,"click", function () {
alert("passage dans événement OK...exécution...");
document.getElementById("valeur").innerHTML = "pause...";
document.getElementById("valeur").innerHTML = this.valeur;
}, false);
alert("Le bouton radio se voit affecter la valeur : "+document.getElementById("chp_num_"+code).value+"\n"+"Le bouton radio se voit affecter un événement \"onclick\" devant afficher la valeur : "+valeur);
break;
}
}
}
}
}
}
function addEvent(objid,ev,fnc,capt){
alert("Ajout d'un événement sur "+objid);
var obj = document.getElementById(objid);
if(obj.addEventListener)
{
obj.addEventListener(ev, fnc, capt);
}
else if(obj.attachEvent)
{
obj.attachEvent(
'on'+ev,
function()
{
return fnc.apply(obj, arguments);
}
);
}
else
{
if(!obj['on'+ev])
{
obj['on'+ev] = fnc;
}
else
{
var oldfnc = obj['on'+ev];
obj['on'+ev] = function(){
oldfnc();
fnc();
}
}
}
return true;
}
</script>
</head>
<body>
<div id="conteneur"></div>
valeur : <span id="valeur"></span>
<script>loadXML();</script>
</body>
</html> |
Partager