reunionnais974
Messages postés16Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention 4 juin 2007
-
24 janv. 2007 à 14:14
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 2017
-
24 janv. 2007 à 14:24
Bonjour j'ai un souci en affectant id ou des evenements de souris.
je charge un fichier xml je traite les données ce qui va créer ma page HTML
sauf que je dois rajouter a ces éléments d'autre action JScript sur les div.
et quand je rajoute l'"ID" ou un evenement du type onclick il ne se passe rien.
voici le code merci de votre aide.
/* chargement du fichier XML */
function fichier_xml(){
var nav = navigator.appName;
var charger;
var doc;
if (document.all){
doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = false;
charger = doc.load("fichier.xml");
creation_page(doc);
}else{
doc = document.implementation.createDocument("","",null);
doc.load("Base.xml");
charger = doc.load("fichier.xml");
doc.onload = function ()
{
creation_page(doc);
document.close();
}
}
}
/* creation de la page */
function creation_page(doc){
var HTML = document.getElementById("text").parentNode;
var D = doc.getElementsByTagName("Table");
var i = 0;
var Haut = 0;
for (i=0;i<D.length;i++){
var Table = D[i];
var Cadre = create_Table(Table,Haut);
HTML.appendChild(Cadre);
Haut = Haut + 70;
}
alert(HTML.innerHTML);
}
function create_Table(Table, Haut){
var nom_table = Table.getAttribute("valeur");
DIV = document.createElement("DIV");
DIV.style.background = "white";
DIV.style.position = "absolute";
DIV.style.top = Haut + "px";
DIV.style.left = "0px";
DIV.appendChild(create_Titre(Table));
DIV.appendChild(create_Champs(Table));
return DIV;
}
function create_Titre(Table){
var nom = Table.getAttribute("nom");
var titre = document.createElement("DIV");
var ele_JS = document.createAttribute("OnMouseOver");
ele_JS.nodeValue = window.alert('ok');
titre.setAttributeNode(ele_JS);
titre.appendChild(document.createTextNode(nom));
return titre;
}
function create_Champs(Table){
var _Champs = Table.childNodes;
var DIV = document.createElement("DIV");
for (i=0;i<_Champs.length;i++){
var lecture = _Champs[i];
var BR = document.createElement("br");
var ele = document.createElement("input");
var ele_id = document.createAttribute("id");
var nom = lecture.getAttribute("valeur");
var Key = lecture.getAttribute("key");
if ( Key == "N" ) {
ele.type = "checkbox";
}
if ( Key == "K" ) {
ele.name = "Key_" + nom;
}
ele_id.nodeValue = ""+nom+"";
ele.setAttributeNode(ele_id);
//ele.setAttributeNode(ele_JS);
DIV.appendChild(document.createTextNode(nom));
DIV.appendChild(ele);
DIV.appendChild(BR);
alert(ele.id);
}
champs = DIV;
return champs;
}
</script>
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 24 janv. 2007 à 14:24
Bonjour,
- l'évenement onclick n'existe pas, il faut mettre onmousedown ( attention à la casse )
- pour affecter un id, il suffit de créé l'élement et de faire ".id= ...."
un petit exemple :
var div = document.createElement("div");
// et c'est la que l'id est affecté :
div.id = "Id_de_la_div_a_cliquer";
div.onmousedown = function (){
alert ( "vous avez cliqué sur " + this.id);
}
j'ai pas tester par rapport à ton source car, n'ayant pas le fichier xml et ne sachant pas ce que ça doit faire...
Donc, à voir.