Je te remercie pour ta réponse fredericmazue, en effet le problème vient delà c'est document.write() qui pose problème, j'ai trouvé cette même réponse sur un autre forum. Voici la l'explication et la solution complête
Le code est un problème, résumons ce que fait le code :
On parcours les éléments d'un ça ok pas de soucis
mais pour chaque élément de ce form, on fais un document.write ou document.writeln. Quand on fais un document.write.. on écrases le dom existant par un nouveau DOM, ce qui fait que n'existe plus, parcourir un élément qui n'existe plus, va provoquer cette erreur. Donc normal que IE8 renvoie une alerte
Le soucis, c'est le document.write qui est le problème, pour résoudre ce bug il l'une des solutions et de créer une div et utiliser la méthode innerHTML.
Ca fonctionne va FireFox et Chrome parceque quand on ajoute un élément avec write ces navigateurs ne vont pas ajouter le texte dans le source html et régénérer la page, mais juste généré le HTML à ajouter
pour en faire un segment DOM et chercher dans le source le point d'insertion
il vont alors retrouver dans le DOM l'élément correspondant au point d'insertion
et insérer le segment DOM
La solution est la suivante
Code :
<script type="text/javascript">
function validerFRM(frmFORM){
frmFORM.style.display="none";
for (var i = 0; i < frmFORM.elements.length; i++) {
document.getElementById('test').innerHTML+="
"+ frmFORM.elements[i].name;
}
}
</script>
Merci encore à tous qui m'ont aider, j'espère que la solution vous aidera aussi
A+.
dav79
Je te remercie pour ta réponse fredericmazue, en effet le problème vient delà c'est document.write() qui pose problème, j'ai trouvé cette même réponse sur un autre forum. Voici la l'explication et la solution complête
Le code est un problème, résumons ce que fait le code :
On parcours les éléments d'un ça ok pas de soucis
mais pour chaque élément de ce form, on fais un document.write ou document.writeln. Quand on fais un document.write.. on écrases le dom existant par un nouveau DOM, ce qui fait que n'existe plus, parcourir un élément qui n'existe plus, va provoquer cette erreur. Donc normal que IE8 renvoie une alerte
Le soucis, c'est le document.write qui est le problème, pour résoudre ce bug il l'une des solutions et de créer une div et utiliser la méthode innerHTML.
Ca fonctionne va FireFox et Chrome parceque quand on ajoute un élément avec write ces navigateurs ne vont pas ajouter le texte dans le source html et régénérer la page, mais juste généré le HTML à ajouter
pour en faire un segment DOM et chercher dans le source le point d'insertion
il vont alors retrouver dans le DOM l'élément correspondant au point d'insertion
et insérer le segment DOM
La solution est la suivante
Code :
<script type="text/javascript">
function validerFRM(frmFORM){
frmFORM.style.display="none";
for (var i = 0; i < frmFORM.elements.length; i++) {
document.getElementById('test').innerHTML+="
"+ frmFORM.elements[i].name;
}
}
</script>
Merci encore à tous qui m'ont aider, j'espère que la solution vous aidera aussi
A+.
dav79