Javascript, probleme sous IE
tanna
-
tanna -
tanna -
Bonjour,
Je suis entrain de créer un sit, et j'ai eu besoin d'une fonction javascript qui rajoute et supprime des lignes dans un tableau.
Ces lignes, contiennent des input et des select.
J'ai pu avoir ce que je voulais, ca marche parfaitement sur FireFox ainsi que Chrome, mais alors la sur IE ca ne fonctionne vraimment pas!!! Je me suis creuser la tête depuis des heures en vain . Svp aidez moi.
Voici la fonction
<script type="text/javascript"> //les fonction javascript pour ajouter / supprimer des produits ou des ?pes
var i = 0;
function fAddText() { //fonction qui cr?une ligne de produit en plus
var Contenu = document.getElementById('Cible').innerHTML; //on affecte la var contenu a tout ce qui est dans <div id="cible">
i=i+1;
if(i<20){
Contenu = Contenu +
'<tbody style=\"display:inline;\" id=\"suppr'+i+'\"><tr><td><input type=\"text\" name=\"produit'+i+'\"/></td><td><input type=\"text\" name=\"quantite'+i+'\" style="width:40px;" /></td><td><select name=\"mesure'+i+'\"><option value=0><?php echo CHOISIR;?></option><option value=1><?php echo GRAMME;?></option><option value=2><?php echo CL;?></option></select></td><td><select name=equivalent'+i+' id=equivalent'+i+'><?php $req=mysql_query("SELECT * FROM recipients");while($data=mysql_fetch_assoc($req)){echo '<option value="'.$data['id'].'">'.constant($data['Lib']).'</option>';}?></select></td><td><input type="button" value="<?php echo SUPPRIMER_PROD;?>" onclick="removeIt('+i+')" /></td></tr></tbody>'; // chaque clic qui declanche cette fonction, contenu aura un input en plus
document.getElementById('Cible').innerHTML = Contenu;//on reaffecte le tout a la var Contenu
}
else
{
alert("<?php echo NBR_LIMITE_CLIC; ?>");
}
}
function removeIt(i){
ligne = document.getElementById('suppr'+i+'');
ligne.removeChild(ligne.firstChild );
}
</script>
Merci beaucoup
Je suis entrain de créer un sit, et j'ai eu besoin d'une fonction javascript qui rajoute et supprime des lignes dans un tableau.
Ces lignes, contiennent des input et des select.
J'ai pu avoir ce que je voulais, ca marche parfaitement sur FireFox ainsi que Chrome, mais alors la sur IE ca ne fonctionne vraimment pas!!! Je me suis creuser la tête depuis des heures en vain . Svp aidez moi.
Voici la fonction
<script type="text/javascript"> //les fonction javascript pour ajouter / supprimer des produits ou des ?pes
var i = 0;
function fAddText() { //fonction qui cr?une ligne de produit en plus
var Contenu = document.getElementById('Cible').innerHTML; //on affecte la var contenu a tout ce qui est dans <div id="cible">
i=i+1;
if(i<20){
Contenu = Contenu +
'<tbody style=\"display:inline;\" id=\"suppr'+i+'\"><tr><td><input type=\"text\" name=\"produit'+i+'\"/></td><td><input type=\"text\" name=\"quantite'+i+'\" style="width:40px;" /></td><td><select name=\"mesure'+i+'\"><option value=0><?php echo CHOISIR;?></option><option value=1><?php echo GRAMME;?></option><option value=2><?php echo CL;?></option></select></td><td><select name=equivalent'+i+' id=equivalent'+i+'><?php $req=mysql_query("SELECT * FROM recipients");while($data=mysql_fetch_assoc($req)){echo '<option value="'.$data['id'].'">'.constant($data['Lib']).'</option>';}?></select></td><td><input type="button" value="<?php echo SUPPRIMER_PROD;?>" onclick="removeIt('+i+')" /></td></tr></tbody>'; // chaque clic qui declanche cette fonction, contenu aura un input en plus
document.getElementById('Cible').innerHTML = Contenu;//on reaffecte le tout a la var Contenu
}
else
{
alert("<?php echo NBR_LIMITE_CLIC; ?>");
}
}
function removeIt(i){
ligne = document.getElementById('suppr'+i+'');
ligne.removeChild(ligne.firstChild );
}
</script>
Merci beaucoup
A voir également:
- Javascript, probleme sous IE
- Telecharger javascript - Télécharger - Langages
- Ie tab - Télécharger - Outils pour navigateurs
- Ie 11 - Télécharger - Navigateurs
- Ie ltd goo dublin - Forum Consommation & Internet
- Google payment ie ltd dublin c'est quoi - Forum Consommation & Internet
3 réponses
Bonjour,
Avec le reste du code (partie HTML) on pourrait peut-être t'aider (en testant de notre côté) à trouver pourquoi ça ne fonctionne pas sous IExplorer...
@+
Avec le reste du code (partie HTML) on pourrait peut-être t'aider (en testant de notre côté) à trouver pourquoi ça ne fonctionne pas sous IExplorer...
@+
C'est "cible" ou "Cible" ? (getElementById('Cible') mais <div id="cible">)
A priori, ce code tente de mettre un TBODY dans un DIV, pas certain du bon fonctionnement de la chose.
A noter que sous IE, on ne peut jouer avec l'innerHTML d'un TABLE, ni d'un TBODY, déjà présent dans le DOM. (On peut modifier ceux des TD en revanche).
Pour un ajout de ligne dans un TABLE, la manière propre et sûre est de le faire par les méthodes DOM.
A priori, ce code tente de mettre un TBODY dans un DIV, pas certain du bon fonctionnement de la chose.
A noter que sous IE, on ne peut jouer avec l'innerHTML d'un TABLE, ni d'un TBODY, déjà présent dans le DOM. (On peut modifier ceux des TD en revanche).
Pour un ajout de ligne dans un TABLE, la manière propre et sûre est de le faire par les méthodes DOM.