cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009
-
24 sept. 2008 à 17:32
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009
-
25 sept. 2008 à 09:58
Bonjour,
J'ai un probleme de compatibilité entre IE et Mozilla (le truc super rare !!! ).
Mon probleme lors d'un clic, sur un bouton, je dois pouvoir ajouter des ligne dans un tableau html. Ca marche niquel sous mozilla mais pas sous IE... Ennuyant quand meme :
var tableau = document.getElementById('montab');
var ligne = document.createElement("tr");
var cellule = document.createElement("th");
Element.setStyle(cellule, {width: "20px"});
var cellule2 = document.createElement("td");
var texte = document.createTextNode("tu tres joli texte");
var num = document.createTextNode(tableau.getElementsByTagName("tr").length);
cellule.appendChild(num);
ligne.appendChild(cellule);
cellule2.appendChild(texte);
ligne.appendChild(cellule2);
tableau.appendChild(ligne);
Si quelqu'un voit une soluce je suis super preneur ...
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 25 sept. 2008 à 09:58
J'ai trouvé ma solution ... en fait il fallait créer également à la main un tbody et l'attribué au tableau :
var tableau = document.getElementById('equipe'+equipe);
var tbody = document.createElement("tbody");
var ligne = document.createElement("tr");
var cellule = document.createElement("th");
cellule.style.width= "20px";
var cellule2 = document.createElement("td");
var texte = document.createTextNode(joueur);
var num = document.createTextNode(tableau.getElementsByTagName("tr").length);
cellule.appendChild(num);
ligne.appendChild(cellule);
cellule2.appendChild(texte);
ligne.appendChild(cellule2);
tbody.appendChild(ligne);
tableau.appendChild(tbody);
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 24 sept. 2008 à 17:45
Salut c'est un tout petit problème de tbody non présent. FF passe outre mais pas ie
voilà mon essais :
<html>
<head>
<title></title>
<script>
function addLine(){
var tableau = document.getElementById('montab');
var ligne = tableau.insertRow(-1);
var cellule = ligne.insertCell(-1);
cellule.style.width= "20px";
var cellule2 = document.createElement("td");
var texte = document.createTextNode("tu tres joli texte");
var num = document.createTextNode(tableau.getElementsByTagName("tr").length);
cellule.appendChild(num);
ligne.appendChild(cellule);
cellule2.appendChild(texte);
ligne.appendChild(cellule2);
}
</script>
</head>
</html>
marche sur IE et FF.
j'ai juste supprimé l'appel à Element.setStyle(cellule, {width: "20px"});
parce que je voulais pas inclure prototype ;o)
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 24 sept. 2008 à 17:51
Merci de ta réponse aussi rapide mais j'ai deja un tbody dans mon tableau... Je te donne tous mon code si ça peux te parler :
JS:
function addJoueur(joueur,equipe)
{
var tableau = $('equipe' + equipe);
var ligne = document.createElement("tr");
var cellule = document.createElement("th");
var cellule2 = document.createElement("td");
var texte = document.createTextNode(joueur);
var num = document.createTextNode($('equipe'+equipe).getElementsByTagName("tr").length);
cellule.appendChild(num);
ligne.appendChild(cellule);
cellule2.appendChild(texte);
ligne.appendChild(cellule2);
tableau.appendChild(ligne);
}
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 25 sept. 2008 à 09:51
Bon alors en fait j'ai isolé mon problème :
le souci vient de cette ligne :
var tableau = document.getElementById('equipe'+equipe);
var ligne = document.createElement("th");
var cellule = document.createElement("th");
cellule.style.width= "20px";
var cellule2 = document.createElement("td");
var texte = document.createTextNode(joueur);
var num = document.createTextNode(tableau.getElementsByTagName("tr").length-1);
cellule.appendChild(num);
ligne.appendChild(cellule);
cellule2.appendChild(texte);
ligne.appendChild(cellule2);
si je la remplace par : var ligne = tableau.insertRow(-1); et bien ça fonnctionne ... si quelqu'un a une explication je suis bien preneur