Bonjour tout le monde
Voila, j'ai un bug depuis hier avec le DOM sous Opéra que je n'arrive pas du tous à résoudre, et ce code marche très bien sous IE et FF
Donc voila, j'ai une fonction qui me génère un textarea dans un élement, et voilà le code que j'utilise :
Donc voilà, jusque là, je n'ai aucun problème, mon textarea s'affiche bien, avec le contenu et tous le reste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function getElement(el){ return document.getElementById(el); } function createForm(type,parent,content,size){ return "<div id='ed'><textarea cols='"+size[1]/2+"' onkeyup='adaptRows(this);' id='edition' >"+content+"</textarea><input type='button' value='Close' onclick=\"closeForm('"+parent+"');\" /></div>"; } var content = adaptText(getElement(el).innerHTML,true); getElement(el).innerHTML = ""; getElement(el).innerHTML += createForm(type,el,content,size);
Mais voila, ensuite j'ai une fonction qui me permet de détruire le textarea, et c'est là que se pose le problème ,voici les fonctions :
Et là, tous va bien, sauf que dans mon élement test, il m'affiche le text undefined pour une raison inconnu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function deleteEl(element,parent){ var el = document.getElementById(element); var list = document.getElementById(parent); list.removeChild(el); } function closeForm(el){ var contenu = getElement('edition').value; deleteEl('ed',el); getElement('test').innerHTML = ""; }![]()
Mais cependant, il m'a bien supprimer le div ed qui avait été génerer par la fonction createForm.
Cependant, maintenant si j'utilise ça :
Tout mon div ed qui avait été préalablement supprimer refait son apparition dans le dom, et donc le a se retrouve dans le textarea
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function closeForm(el){ var contenu = getElement('edition').value; deleteEl('ed',el); getElement('test').innerHTML = ""; getElement('test').innerHTML = "a"; }
Et j'ai fait des test, en mettant un alert dans la fonction deleteEl, et il s'affiche bien, la fonction est bien appelé.
Voila, merci d'avance
PS : Ce bug n'arrive que sous Opéra![]()
Partager