Comment colorer une ligne d'un tableau avec une case à cocher ?

Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011 - 14 août 2011 à 12:34
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 - 2 sept. 2011 à 14:31
Bonjour,

Je cherche à colorer une ligne dont la case à cocher, en début de ligne, est validée.
Je ne connais pas grand chose au JS, j'ai recherché dans le forum, mais apparemment il y a beaucoup de façon de faire... J'ai une contrainte: La page sur laquelle je dois colorer les lignes est créée par un code que je ne peux pas la modifier (Serveur de Fax Sagem).

Voici comment sont codées les lignes:
Code :
<tr class="row1">
    <td width="72">
    <nobr>
    
    [javascript:getTiff('/fax', 3, 1) ]
 
    /fax/status/NoteEditor.jsp?Choice=DisplayNote&CheckRow=3&folderIndex=0&pageNumber=1
 
    </nobr>              
    </td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308828978000).toLocaleString())</script></td>
 
    <td class="faxes">45</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=3</td>
 
    <td class="faxes">GlobalComServer</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=3</td>
 
    <td class="faxes">Fax System</td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308828983000).toLocaleString())</script></td>
 
    <td class="faxes">RG - Rexel Fgs
OP</td>
 
</tr>
 
<tr class="row0">
    <td width="72">
    <nobr>
    
    [javascript:getTiff('/fax', 4, 1) ]
 
    /fax/status/NoteEditor.jsp?Choice=DisplayNote&CheckRow=4&folderIndex=0&pageNumber=1
 
    </nobr>              
    </td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308821037000).toLocaleString())</script></td>
 
    <td class="faxes">43</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=4</td>
 
    <td class="faxes">0299518393</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=4</td>
 
    <td class="faxes">Fax System</td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308821042000).toLocaleString())</script></td>
 
    <td class="faxes">VF - Derrouch
CR EPAHD Louvigné</td>
 
</tr>
 
<tr class="row1">
    <td width="72">
    <nobr>
    
    [javascript:getTiff('/fax', 5, 1) ]
 
    /fax/status/NoteEditor.jsp?Choice=DisplayNote&CheckRow=5&folderIndex=0&pageNumber=1
 
    </nobr>              
    </td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308731568000).toLocaleString())</script></td>
 
    <td class="faxes">24</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=5</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=5</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=5</td>
 
    <td class="faxes">Fax System</td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308731573000).toLocaleString())</script></td>
 
    <td class="faxes">DG - Bouygues</td>
 
</tr>
 
<tr class="row0">
    <td width="72">
    <nobr>
    
    [javascript:getTiff('/fax', 6, 1) ]
 
    /fax/status/NoteEditor.jsp?Choice=DisplayNote&CheckRow=6&folderIndex=0&pageNumber=1
 
    </nobr>              
    </td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308062381000).toLocaleString())</script></td>
 
    <td class="faxes">22</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=6</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=6</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=6</td>
 
    <td class="faxes">Fax System</td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1308062386000).toLocaleString())</script></td>
 
    <td class="faxes">Tous - Loxam Tarif</td>
 
</tr>
 
<tr class="row1">
    <td width="72">
    <nobr>
    
    [javascript:getTiff('/fax', 7, 1) ]
 
    /fax/status/NoteEditor.jsp?Choice=DisplayNote&CheckRow=7&folderIndex=0&pageNumber=1
 
    </nobr>              
    </td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1306829840000).toLocaleString())</script></td>

    <td class="faxes">101</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=7</td>
 
    <td class="faxes">0299992662</td>
 
    <td class="faxes">/fax/status/ShowDetails.jsp?folderIndex=0&pageNumber=1&FaxIndex=7</td>
 
    <td class="faxes">Fax System</td>
 
    <td class="faxes"><script type='text/javascript' language='JavaScript' >document.write(new Date(1306829845000).toLocaleString())</script></td>
 
    <td class="faxes">YR - SOFRICA Cde</td>
 
</tr>


La fonction Check()
 
/*
* \brief This function is triggered when the user press
* any of the CheckRow boxes. This function valids
* the state of the CheckRowAll box.
**/
function Check()
{
if (document.ProcessFaxes.CheckRow.length > 0 )
{
for (i = 0; i < document.ProcessFaxes.CheckRow.length; i++)
{
if (document.ProcessFaxes.CheckRow[i].checked == false)
{
document.ProcessFaxes.CheckRowAll.checked = false;
return;
}
}
document.ProcessFaxes.CheckRowAll.checked = true;
}
else
{
document.ProcessFaxes.CheckRowAll.checked = document.ProcessFaxes.CheckRow.checked;
}
}


Merci du coup de main

Gdal

4 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
14 août 2011 à 18:27
normalement en faisant le parent de la checkbox on se retrouve se retrouve sur le td et le parent du td c'est le tr c'est a dire la ligne ce qui donnne pour modifier la couleur

document.ProcessFaxes.CheckRow[i].parenyNode.parentNode.style.backgroundColor='red


function Check()
{
if (document.ProcessFaxes.CheckRow.length > 0 )
{
for (i = 0; i < document.ProcessFaxes.CheckRow.length; i++)
{
if (document.ProcessFaxes.CheckRow[i].checked == true)
{
document.ProcessFaxes.CheckRow[i].parenyNode.parentNode.style.backgroundColor='red'
}
if (document.ProcessFaxes.CheckRow[i].checked == false){
document.ProcessFaxes.CheckRow[i].parenyNode.parentNode.style.backgroundColor='white'
}
}
0
Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011
15 août 2011 à 12:10
Salut,

Je suis actuellement en vancances et je n'ai pas accès au serveur de fax. Avant de partir, j'ai enregistrer sous la page et récupérer le code JS Check().
Je viens d'essayer mais ton code ne fonctionne pas, mais j'ai aussi remarqué que le code d'origine Check ne fonctionne pas non plus. Est-ce du au faite que je sois en "local" avec une page enregistrée et non sur le serveur?
Si c'est le cas, je ferais la modification à mon retour de mi septembre.

Merci!

Gdal
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
16 août 2011 à 00:22
sa peut etre possible

bonnes vacances
0
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
2 sept. 2011 à 14:31
Il y a juste une erreur javascript dans la dernière ligne.

remplace :
document.ProcessFaxes.CheckRow[i].parenyNode.parentNode.style.backgroundColor= 'white'

par :
document.ProcessFaxes.CheckRow[i].paren t Node.parentNode.style.backgroundColor ='white'

---------------------
Oderint dum metuant
0
Rejoignez-nous