Javascript disable

maroco_ Messages postés 2 Statut Membre -  
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
J'ai des champs input (b et c) que je souhaite masquer lorsque l'internaute tape du texte dans un autre champ (a), mais s'il efface le contenu de ce champ (a), je souhaite que les autres (b et c) soient de nouveau dispo...
J'ai dc une fonction appelée avec onkeypress(); et lorsque document.getElementById('nombrepart').value == "", je ne peux pas dégriser les cases.

J'imagine que la solus est bête, mais je ne vois pas, donc un ptit coup de main serait le bienvenu.
Merci à tou(te)s

1 réponse

kij_82 Messages postés 4260 Statut Contributeur 857
 
Pour cela il faut que tu jongle avec le style css de tes éléments.
En javascript donc, tu dois :
- récupérer l'élément en question
- modifier son style css

D'un point de vue applicatif, voici une petite fonction javascript à utiliser :
/*****************************************/
/** changeStatusOnElement                                 **/
function changeStatusOnElement ( elementId, status ){
/** elementId: id of the element to show / hide    **/
/** status: '0' -> show / '1' -> hide                        **/
/*****************************************/
   var elem = document.getElementById(elementId);
   if ( elem ){
       if ( status == 0 )
         elem.style.visibility = "visible";
       else
         elem.style.visibility = "hidden";
   }
}


Ca devrait donner le résultat attendu. Il ne te reste plus qu'à l'appliquer sur tes éléments, lors de l'évênement voulu.
Ex:
 <form ...>
     <input type="text" value="toto" id="toto" onmouseover="changeStatusOnElement('tata',1) " onmouseout="changeStatusOnElement('tata',0)"> <BR>
     <input type="text" value="tata" id="tata"> <BR>
     <input type="text" value="titi" id="titi"> <BR>
 </form>

0