begin process at 2012 05 30 05:10:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

tableau desactivation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tableau desactivation

lundi 2 octobre 2006 à 13:39:07 | tableau desactivation

mouness

Salut a tous
il y a quelque jour grace a un certain jedinoobewan
(perso c'est obiwan) bref j'ai mi en place dans mon code un truc du genre ca
<html>
<head>
<style>
tr.std
{
}
tr.over
{
background-color: blue;
border: #666666 1px solid;
}
tr.click
{
background-color: red;
}
</style>
<script type="text/javascript">
function changeClass(p_id, p_class){
var l_tr = document.getElementById(p_id);
l_tr.className = p_class;
if(p_class == "click"){
l_tr.onmouseout = function(){};
// Et si tu veux que ça reste quand la souris revient
l_tr.onmouseover = function(){};
l_nb = document.getElementById('nb_td').value;
for(i = 1; i <= l_nb; i++){
l_tr_tmp = document.getElementById('tr_'+i);
if(l_tr_tmp != l_tr){
l_tr_tmp.onmouseout = function(){changeClass(this.id, 'std')};
l_tr_tmp.onmouseover = function(){changeClass(this.id, 'over')};
l_tr_tmp.className = 'std';
}
}
}
}
</script>
</head>
<body>
<table>
<tr id="tr_1" onmouseover="changeClass('tr_1', 'over')"
              onmouseout="changeClass('tr_1', 'std')"
              onmousedown="changeClass('tr_1', 'click')"
              class="std">
<td >Le td lien est &agrave; c&ocirc;t&eacute;</td>
<td>
Super !!
</td>
</tr>
<tr id="tr_2" onmouseover="changeClass('tr_2', 'over')"
              onmouseout="changeClass('tr_2', 'std')"
              onmousedown="changeClass('tr_2', 'click')"
              class="std">
<td>Le td lien est &agrave; c&ocirc;t&eacute;</td>
<td >
Super !!
</td>
</tr>
<tr id="tr_3" onmouseover="changeClass('tr_3', 'over')"
              onmouseout="changeClass('tr_3', 'std')"
              onmousedown="changeClass('tr_3', 'click')"
              class="std">
<td>Le td lien est &agrave; c&ocirc;t&eacute;</td>
<td >
Super !!
</td>
</tr>
</table>
<input type="hidden" id="nb_td" value="3"/>
</body>
</html>
ce que je voudrait c'est que l'orsque je click a l'exterieur du tableau la case selectionée se deselectionne
si quelqu'un sait quel procedure a suivre je doit adopter pour cela
le lui serait vraiment tres reconnaissan
(je debute aider moi SVP)
Merci a tous @++
lundi 2 octobre 2006 à 14:05:51 | Re : tableau desactivation

Zobibol

Membre Club
Réponse acceptée !

Bien le bonjour,

il faudrait pour faire cela que tu rajoutes un id à ta table ( par exemple "table_" ).

Ensuite sur le body : <body onmousedown="clickOnbody(event)">
Et enfin, tu rajoutes la méthode Javascript :
function clickOnbody(ev){
  // récupère le contrôle sur lequel on à cliquer
  var ctrl = ( document.all)? event.srcElement : ev.target;
  // si le contrôle cliquer est différent de TD alors on récupère la table et on vire les lignes sélectionnées
  if ( ctrl.tagName != "TD"){
   // récupère l'ensemble des balise tr de la table ayant pour id "table_"
   var trTot = document.getElementById("table_").getElementsByTagName("tr");
   // parcours la liste et les désactive.
   for ( var i =0; i < trTot.length; i++)
    changeClass(trTot[i].id, 'std');
  }
}
En théorie dès que tu clicks sur autre chose qu'une balise TD, il va te faire l'équivalent du onmouseout de tes balises TR.
En espérant avoir répondu à ta question.

[o-_-o]

lundi 2 octobre 2006 à 14:41:11 | Re : tableau desactivation

mouness

salut Zobilol
merci pour le coup de pousse
mais quand j'utilise ton code avec un tableau ca marche impec mais par contre mon code lui est composée
de plusieur tableau
j'ai donc bidouyer  un truc dans le genre
function clickOnbody(ev)
          {
     var ctrl = ( document.all)? event.srcElement : ev.target;
     if ( ctrl.tagName != "TD")
     {
      for ( var i =1; i < 16; i++)
      {
        var trTot = document.getElementById('table_'+i).getElementsByTagName("tr");
        if (trTot!= null)
        {
        for ( var i =0; i < trTot.length; i++)
        {
        changeClass(trTot[i].id, 'std');
       }
       }
      }
   }
  }

a ce moment il me met invalid argument (il se peut que le tableau soit vide meme pas de tr c pour
ca que j'ai mit  if (trTot!= null))
sait tu d'ou ca vient
merci @++
lundi 2 octobre 2006 à 14:58:06 | Re : tableau desactivation

Zobibol

Membre Club
Ouais, j'aurais peut être bien une petite idée...
Tu déclares deux fois une variable i dans une boucle imbriquée, à mon avis, il doit se larguer un peu en route avec les i..
Dans le deuxième for , remplace i par j ( par exemple ) et change bien ( c'est la connerie que je fais à tout les coups ) 
   changeClass(trTot[i].id, 'std');
en 
   changeClass(trTot[j].id, 'std');
Normalement tu n'as plus besoin de faire le test
 if (trTot!= null)
...
A toi de jouer.

[o-_-o]
lundi 2 octobre 2006 à 15:38:34 | Re : tableau desactivation

mouness

resalut
ce que je peux etre etourdi des fois il est vrai que ca marche mieux avec des lettre differente dans le for 
quoi qu'il en soi ca marche pour les essais avec le code que je t'ai donner 
mais pas avec le code dans lequelle je veut le metre  il perciste  a me dire invalide argument et je ne sais pas d'ou ca vien 
en tout cas je valide quand même la reponse qui sait ca peut aider quelqu'un d'autre 
je de dirait si j'ai plus de detail sur l'erreur et que je n'arrive vraiment pas a la résoudre
je te remercie de ton  aide 
@++  
lundi 2 octobre 2006 à 15:52:33 | Re : tableau desactivation

mouness

resalut
en faite au cas tu aurai une soluce
je te dit quand meme pouqoi ca marche pas

c'est parce que j'ai des tableau imbriquer les un dans les autre 
genre comme ça
<table width="100%" >
      <tr>
         <td>
       <table width="50%" align="left">
         <tr>
            <td>
          <table width="100%" border="1" bordercolor="#2D2D57">
            <tr>
              <td>
               <table width="100%" id="table_1">
               <?php echo affiche_titre("Lundi",$jour_lundi,"formTL",$Lundi);?>
                <?php echo affiche_visite_indiv($dateIL,$heureIL,$pilote_indivL,"form_indivL","form_indivL_An_List","tr_566");?>
             <?php echo affiche_bouton_indiv($dateIL);?>
             <?php echo $affiche_ligne_visite_lundi ; ?>
             <?php echo affiche_option($Lundi);?>
             <?php echo $affiche_ligne_visite_fournisseur_lundi ; ?>
             <?php echo $affiche_ligne_visite_famille_lundi ; ?>
             <?php echo $affiche_ligne_congee_lundi ; ?>

           </table>
              </td>
            </tr> 
          </table>
          <table width="100%">
            <tr>
              <td>
               <table width="100%" id="table_2">
            <?php echo $affiche_ligne_evenement_lundi ; ?>
           </table>
              </td>
            </tr> 
          </table>
            </td>
         </tr>
       </table>
       
       <table width="50%">
         <tr>
            <td>
          <table width="100%" border="1" bordercolor="#2D2D57">
            <tr>
              <td>
               <table width="100%" id="table_3">
               <?php echo affiche_titre("Jeudi",$jour_jeudi,"formTJ",$Jeudi);?>
             <?php echo affiche_visite_indiv($dateIJ,$heureIJ,$pilote_indivJ,"form_indivJ","form_indivJ_An_List","tr_567");?>
             <?php echo affiche_bouton_indiv($dateIJ);?>
                <?php echo $affiche_ligne_visite_Jeudi ; ?>
                <?php echo affiche_option($Jeudi);?>
                <?php echo $affiche_ligne_visite_fournisseur_Jeudi ; ?>
             <?php echo $affiche_ligne_visite_famille_Jeudi ; ?>
             <?php echo $affiche_ligne_congee_Jeudi ; ?>

           </table>
              </td>
            </tr> 
          </table>
          <table width="100%">
            <tr>
              <td>
               <table width="100%" id="table_4">
            <?php echo $affiche_ligne_evenement_Jeudi ; ?>
           </table>
              </td>
            </tr> 
          </table>
            </td>
         </tr>
       </table>
         </td>
      </tr>
    </table>

si tu sais comment le faire marcher je suis preneur par contre tu m'excuse mais je retire le reponse acepter 
Merci beaucoup 
@++ 

lundi 2 octobre 2006 à 16:50:31 | Re : tableau desactivation

Zobibol

Membre Club
En fait, je suis une buse en php !
Mais se pourrait-il que dans le code généré tu ais une balise TR qui n'ai pas d'id ???
Si tel est le cas, il faudrait que tu rajoutes un test avant le
changeClass(trTot[j].id, 'std');
du genre :
if ( trTot[j].id != null )
   changeClass(trTot[j].id, 'std');

Après je crois que j'ai épuisé mon stock de solutions ;o)

[o-_-o]
mardi 3 octobre 2006 à 08:55:09 | Re : tableau desactivation

mouness

salut
ca marche pas mais je te remercie
d'avoir asseyer de m'aider
@+
mardi 3 octobre 2006 à 09:35:16 | Re : tableau desactivation

mouness

en faite tu n'a pas fait qu'esseyer tu m'a aider donc

merci

@++

 

mardi 3 octobre 2006 à 10:04:02 | Re : tableau desactivation

Zobibol

Membre Club
Au cas ou tu peux installer
https://addons.mozilla.org/firefox/1843/
(pour firefox 1.5 ) il te mettra à disposition un débugger et d'autres bricoles relativement util.


[o-_-o]

1 2

Cette discussion est classée dans : class, click, tr, std, changeclass


Répondre à ce message

Sujets en rapport avec ce message

JSP & JAVASCRIPT [ par ratekratek ] Bonjour tt le monde,je suis debutant en j2ee et j travail sur struts et j ai rencontrer le problème suivant : je veux transformer le texte d'une zone fonction qui ne renvoie pas son return ? [ par caviar ] saluté ... j'ai un pb bizare ..j'aimerai passer en argument d'une fonction le résultat d'une autre fonction ... mais au lien de passer le résultat ça passage de valeur bisard. [ par BEAUBRIUS ] BonjourAlors je vous explique un peu mon probleme.pour commencer , j'ai une liste d'element qui est generer avec un xml genere sur le serveur.ma liste bouton1 page click bouton 2 page 2 [ par amita ] merci à l'équipej'ai page 1 avec bouton 1page 2 avec bouton 2je veux quand je click sur le bouton 1 de la page 1 il me click bouton 2 de la page 2 fonction de enable [ par azstar ] je cherche une fonction qui sert a ecrire dans la même page plus tôt  aficher qlq chose qu'a étè cacher comme exemple lorsque vous click sur le menu q Event le son en click [ par hakim0 ] salut,j'ai une question comment peu desactiver le son sur l'evenement open new window,window.navigate(..)ou simplemenet quand on click sur un lien url Cacher/Montrer [ par keket ] Bonjour, je viens vous voir car j'aimerai ajouter a mon site la possibilité de cacher ou de montrer une partie de l'écran.Je voudrais avoir le même ré Comment appeler le click de mon bouton en javascript? [ par vinzemuls ] Bonjour,voilà j'ai un composant AJAX qui a une propriété ContentURL.J'ai une Fonction avec des conditions en javascript qui me change cette propriété. Soustraire deux heures [ par hellsPGM ] Bonjour,  je voudrais soustraire 2 heures entre elles. En faite je dois calculer le temps que l'utilisateur met pour faire une tache (il click sur un [ JS + PHP ] Acceder a un champs de formulaire dans une boucle [ par Kirostaz ] bonjour à tous,mon problème est donc le suivant : j'ai un formulaire F_ajout avec les champs suivanttr>td>Choix 1 de la liste: </<span


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,087 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales