<td> qui change de taille en ajax

cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 28 déc. 2007 à 18:08
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 31 déc. 2007 à 09:34
Salut à tous !

J'ai un table du type :
   
      ----
, ,
   

En ajax, je rajoute des <tr><td></td><td></td></tr>
et à la fin je rajoute un <tr><td colspan='2'></td></tr>

Avec un innerHTML, je veux rajouter du texte dans mon 'td colspan'.
Si le texte est plus petit que la largeur de ma table, c'est ok.
S'il est plus long, il y a saut de ligne, mais tous mes <td></td><td></td> changent de taille. (le td de droite devient plus grand)

Quelqu'un a une idée du pourquoi ?

Merci d'avance !!

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>

3 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
28 déc. 2007 à 21:52
Faudrait voir ton code. Sinon la seule chose que je peux de dire c'est de te méfier du innerHTML. À chaque modification que tu fais avec le innerHTML, le code est interprété et modifié.

Exemple :
obj.innerHTML = "Contenu, \";
obj.innerHTML += "Contenu 2
";

obj.innerHTML est égale à ceci après :

Contenu
<td>Contenu 2</td></tr></table>

Les deux éléments sont dans 2 tableaux différents puisque le code a été interprété après chaque modification. Si tu veux évité se problème mets ton code dans une variable et après utilise le innerHTML.
0
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
28 déc. 2007 à 22:25
Whaw ! C'est énorme ce que tu me dis Arto, c'est très bon à savoir, mais mon table est crée avec des createElement()

En html avant le js :

   
      ----
coucou, recoucou,
   

Mon code js :

       r = document.createElement('tr');
       r.setAttribute('id', 'com');
       r.setAttribute('height', '73');
       dd = document.createElement('td');
       dd.setAttribute('colSpan', '2');
       dd.setAttribute('id', 'commme');
       document.getElementById('tb').appendChild(r); //tb est l'id de mon <tbody>
       document.getElementById('com').appendChild(dd);
       dd.setAttribute('background', 'img/outils_devis/cadrepresta.png');
       dd.style.backgroundRepeat='no-repeat';
       dd.style.textAlign='justify';
       dd.style.fontSize='10px';
       dd.style.paddingLeft='13px';
       dd.style.paddingRight='17px';
       dd.style.paddingTop='13px';
       dd.style.verticalAlign='top';
      document.getElementById('commme').innerHTML='Ceci est un commentaire blabla bla bla';

Je t'ai laissé les mises en formes au cas où.

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>
0
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
31 déc. 2007 à 09:34
Personne n'a une idée ?

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>
0
Rejoignez-nous