Javascript disable

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
Configuration: Windows Vista
Firefox 2.0.0.4

1 réponse

  1. Contributeur
    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>