salut, c'est re-moi
Voilà rapidement mon souchis... Je travaille à améliorer un peu l'ergonomie d'une boîte à mp tout coder par moi.
Le code html d'affichage ressemble à ça :
(oui, je sais le code html est un peu pourri^^)
Chaque mp est identifié par un id dans mes tables.
A l'heure actuelle, quand on clique sur le titre, ça dévoile le texte du mp (façon spoiler) grâce à ce code-là :
Mais je voudrais rajouter une seconde fonction qui serait celle de passer de "non-lu" à "lu" dans la table et sur la page.
Le fichier.php marche très bien (c'est celui qui était utilisé avant, quand il fallait cliquer sur l'image avec l'enveloppe fermée).
Le truc c'est qu'il semblerait que mettre 2 appels de fonction sur 1 évent' ça marche que très moyen. (il ne fait que la première fonction).
Quelqu'un sait comment je peux faire ?
Au passage, je peux pas fusionner les deux car j'utilise le show_hide() ailleurs.
Modifié par Lothindil (09 Sep 2011 - 13:22)

Voilà rapidement mon souchis... Je travaille à améliorer un peu l'ergonomie d'une boîte à mp tout coder par moi.
Le code html d'affichage ressemble à ça :
<table border='1' class='pleine'>
<tr>
<td>0000-00-00 00:00:00</td>
<td><p><b>Sawen</b></p></td>
<td><p onclick="show_hide(this,'747'); mplu(747)"><b>Titre du mp</b></p>
<div id="747" style="display:none">texte du mp</div></td>
<td><a class="menu" href="communication.php?choix=rediger&dest=Sawen&titre=blabla">Répondre</a></td>
<td><img id=747 src='images/mp-ouvert.png' alt='MP lu' title='MP non-lu' /></td>
<td><a class='menu' href='communication2.php?id=747&type=1'>Suppr</a></td>
</tr>
<tr>
<td>0000-00-00 00:00:00</td>
<td><p><b>Sawen</b></p></td>
<td><p onclick="show_hide(this,'748'); mplu(748)"><b>blablabla</b></p>
<div id="748" style="display:none">blabla</div></td>
<td><a class="menu" href="communication.php?choix=rediger&dest=Sawen&titre=blablabla">Répondre</a></td>
<td><img id=748 src='images/mp-ferme.png' alt='Mp non-lu' title='MP non-lu' /></td>
<td><a class='menu' href='communication2.php?id=748&type=1'>Suppr</a></td>
</tr>
</table>
(oui, je sais le code html est un peu pourri^^)
Chaque mp est identifié par un id dans mes tables.
A l'heure actuelle, quand on clique sur le titre, ça dévoile le texte du mp (façon spoiler) grâce à ce code-là :
function show_hide(obj,bloc)
{
elt=document.getElementById(bloc);
if (elt.style.display == 'none')
{
elt.style.display='block';
}
else
{
elt.style.display='none';
}
}
Mais je voudrais rajouter une seconde fonction qui serait celle de passer de "non-lu" à "lu" dans la table et sur la page.
function mplu(id)
{
var xmlHttp=null;
try
{// Firefox, Opera 8.0+, Safari, IE7
xmlHttp=new XMLHttpRequest();
}
catch(e)
{// Old IE
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert ("Votre navigateur ne supporte pas XMLHTTP, veuillez installer un navigateur plus récent (IE7+, FF2+, Opera 8+, Safari, Chrome)");
return;
}
}
var url="communication2.php?id="+id+"&type=0";
xmlHttp.open("GET",url,false);
xmlHttp.send(null);
document.getElementById(id).src='images/mp-ouvert.png';
document.getElementById(id).title='MP lu';
document.getElementById(id).alt='MP lu';
}
Le fichier.php marche très bien (c'est celui qui était utilisé avant, quand il fallait cliquer sur l'image avec l'enveloppe fermée).
Le truc c'est qu'il semblerait que mettre 2 appels de fonction sur 1 évent' ça marche que très moyen. (il ne fait que la première fonction).
Quelqu'un sait comment je peux faire ?
Au passage, je peux pas fusionner les deux car j'utilise le show_hide() ailleurs.

Modifié par Lothindil (09 Sep 2011 - 13:22)