Fonction incompatible avec IE
Bonjour à tous
Voilà je vous explique mon problème. J’ai crée une fonction JavaScript qui me permet d’ajouter une nouvelle ligne à un tableau de saisies dès que toutes les lignes sont renseignées, via un événement onchange sur une zone de saisie.
Pour cela je procède de la manière suivante (extrait code fonction js ajout ligne) :
Code:
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
|
.
var fgh=document.forms["formu"].elements["ithnbmodrecr"].value;
cptLigne=fgh*1+1; // compteur général pour les lignes ajoutées
var tbl = document.getElementById('tabBody');
var lastRow = tbl.rows.length;
document.forms["formu"].elements["ithnbmodrecr"].value=lastRow;
var essai3 = 0;
var essai3 =document.forms["formu"].elements["ithnbmodrecr"].value;
chaine="<tr height='35'>\n";
..
cptLigne++;
if (document.all)
{
document.getElementById(idTableau).insertAdjacentHTML('beforeEnd',chaine);
}
else if (document.createRange)
{
var range = document.createRange();
range.setStartAfter(document.getElementById(idTableau).lastChild);
var docFrag = range.createContextualFragment(chaine);
document.getElementById(idTableau).appendChild(docFrag);
}
|
La déclaration de mon tableau dans mon body :
Code:
1 2 3 4
|
.
<table id='tab' border='0' width='90%' cellspacing='0' cellpadding='0' height='21' align='middle' >
<tbody id='tabBody'>
|
Tout ça marche très bien sous Firefox mais pas sous IE, qui me retourne un message « Élément cible non valide pour cette opération. » pour la ligne 80 qui correspond à :
Code:
document.getElementById(idTableau).insertAdjacentHTML('beforeEnd',chaine);
Je ne vois vraiment pas où se trouve mon problème…. J’ai essayé tout un tas de choses par rapport à des indications que j’ai trouvé à droite à gauche, mais ça n’y à rien changé.
Mon problème est que je dois montrer le développement aux futurs utilisateurs la semaine prochaine, et que ça commence à s’approcher à grande vitesse…. Je commence donc à être vraiment dans la mer*****
Si quelqu’un pouvait m’aider à dépatouiller ce petit bout de code, ça serait vraiment sympa de votre part.
Merci par avance pour votre aide et vos indications !