Pb className sous IE7

Signaler
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
-
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013
-
Bonjour,
Voici mon problème :
j'ai un tableau nommé "table1". Lorsque je clique sur une ligne, j'applique un style "highlight" de ma feuille css qui permet de surligner la ligne sélectionnée. Un traitement est alors effectué par une action struts en rapport avec la ligne choisie et on retourne sur la page de départ qui contient le tableau. Le problème est que je veux que la ligne choisie reste surlignée lors du retour sur la page. Mon code fonctionne bien sur FireFox mais pas sous IE7.

Voici un bout du code utilisé :
dans la jsp, le onclick suivant est définit pour la table d'id = "table1" onclick=
"highlight(event);"
Voici la fonction appelée sur le onload (lors du retour sur la page) : <body onload=
"highlightTable();"> 

Voici la page javascript :

function highlight(event)
{
   var elt = getEventSource(event);

   var row = elt.parentNode;

   while (row !=
null && row.tagName !=
'TR')
{
      row = row.parentNode;

   }
   var i = 0;

   try {
      i = row.rowIndex;

   } catch(exception)
{ }
   if (i > 1)
{
      row.className =
"highlight";
      document.trombiForm.idSelected.value = row.getAttribute(
'id');
      doLoad(); //action struts

   }
}

function highlightTable()
{
   var id = document.trombiForm.idSelected.value;

   if (id !=
null && id !=
"")
{
      var table = document.getElementById(
"table1");

      for(
var x = 0; x < table.rows.length; x++ )
{
         if (table.rows[x].getAttribute(
'id') == id)
{
            table.rows[x].className =
"highlight";

            break;
         }
      }
   }
}

Le highlight fonctionne très bien sous les 2 navigateurs mais le highlightTable ne fonctionne pas sous IE7 (la ligne n'est pas surlignée). Je soupçonne que cela vienne du className dans la fonction highlightTable car si je mets table.row[x].style.color="red"; cela marche bien.

Quelqu'un aurait une idée pour remédier à cela?


D'avance merci.

4 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Salut,

essai de mettre un id et de faire un getElementById (ça marche sous IE7)

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

un id sur quel élément? j'ai pas bien compris

***  Kakol ***
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
non je me suis trompé, tu parlais de cassname alors j'ai pensé aux class mais...

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bonjour,

Pourquoi ne pas mettre ton changement de class sur l'élément TR à la place de l'élément TABLE ?