IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

[JS]Checkbox active/désactive un passwordfield


Sujet :

HTML

  1. #1
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut [JS]Checkbox active/désactive un passwordfield
    Bonjour tout le monde.

    Je suis confronté à un petit problème que ni google, ni la FAQ, ni les précédents posts ne m'ont aidé à résoudre.

    Voici le sujet : J'ai un champ password que je veux remplir automatiquement quand une checkbox est cliquée. Dans ce cas l'utilisateur ne DOIT PAS pouvoir changer le contenu de ce champ. En revanche, quand l'utilisateur décoche cette checkbox, je voudrais effacer le contenu du champ, y autoriser l'écriture et enfin lui donner le focus.

    J'arrive à tout faire excepter autoriser l'écriture. En fait j'ai essayé en désactivant le champ (DISABLED) et tout marche super bien... sauf quand je fais un submit auquel cas je n'ai évidement pas accès à mon champ password.
    Si maintenant je passe en readonly, d'une l'affichage est moins beau (je le préfère grisé, mais je suppose que je pourrais changer la couleur dans un script JS) et surtout de deux, je n'arrive pas à rendre l'écriture possible sur on champ.

    Voici le code, si quelqu'un trouve d'où vient ce f*** problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                        <TD>
                            <input type="password" name="<%=MessageContent.PASSWORD%>" id="<%=MessageContent.PASSWORD%>" style="width:200" value="<%=projects.get(0)%>"  readonly="readonly">
                        </TD>
                        <TD></TD>
                        <TD>
                            <input type="checkbox" name="useNameAsPassword" checked onclick="inputEnable('<%=MessageContent.PASSWORD%>', this.checked, this);">Use project name for password
                        </TD>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function inputEnable(id, state, obj) {
        var divObj = null;
     
        if (document.getElementById) {
        divObj = document.getElementById(id);
        } else if(document.all) {
        divObj = document.all(id);
        } else if (document.layers) {
        divObj = document.layers[id];
        }
     
        //Here, divObj == document.forms[0].<%=MessageContent.PASSWORD%>
     
        if(state && divObj){
            alert("add att");
        divObj.setAttribute("readonly","readonly");
        }else if(divObj){
            alert("remove att");
        divObj.removeAttribute("readonly");
        divObj.focus();
        }
     
        _update(obj);
    }

  2. #2
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut Info complémentaire
    Bonsoir à tous.

    Voici, à titre d'info, ce que j'utilise actuellement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function inputDisabled(obj){
       if(document.forms[0].useNameAsPassword.checked){
            document.forms[0].<%=MessageContent.PASSWORD%>.blur();
            document.forms[0].<%=MessageContent.PASSWORD%>.style = "background-color:'#33FF00'";
       }else{
           document.forms[0].<%=MessageContent.PASSWORD%>.style = "background-color:'#FFFF00'"
       }
    }
     
    function inputEnable(id, state, obj) {
        var divObj = null;
     
        if (document.getElementById) {
        divObj = document.getElementById(id);
        } else if(document.all) {
        divObj = document.all(id);
        } else if (document.layers) {
        divObj = document.layers[id];
        }
     
        //Here, divObj == document.forms[0].<%=MessageContent.PASSWORD%>
     /*   
        if(state && divObj){
            alert("add att");
        divObj.setAttribute("readonly","readonly");
        }else if(divObj){
            alert("remove att");
        divObj.removeAttribute("readonly");
        divObj.focus();
        }
     */
     
        document.forms[0].<%=MessageContent.PASSWORD%>.focus();
     
        _update(obj);
    }
    avec des champs d'INPUT définit comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <TD>
                            <input type="password" name="<%=MessageContent.PASSWORD%>" id="<%=MessageContent.PASSWORD%>" style="width:200" value="<%=projects.get(0)%>"  onfocus="inputDisabled(this);">
                        </TD>
                        <TD></TD>
                        <TD>
                            <input type="checkbox" name="useNameAsPassword" checked onclick="inputEnable('<%=MessageContent.PASSWORD%>', this.checked, this);">Use project name for password
                        </TD>
    Mon problème ici c'est que le document.forms[0].<%=MessageContent.PASSWORD%>.style = "background-color:'#FFFF00'" ne marche pas. Par contre, sans ça, sa marche plutôt bien excepté que je n'ai pas le rendu grisé du DISABLED.

  3. #3
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut Corrigé !
    Salut tout le monde.

    Je ne vais pas vous laisser patienter plus longtemps, j'ai trouvé la réponse.

    Vu que j'ai fait un autre post sur un autre forum, qui me semblait plus approprié que celui-là (je m'en excuse d'ailleurs ) voici le lien vers la réponse.

    Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Activer/désactiver des checkbox
    Par babylone7 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/02/2011, 09h02
  2. Réponses: 2
    Dernier message: 01/03/2009, 20h48
  3. activer/désactiver la compression GZIP des pages
    Par iubito dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 20/08/2008, 21h35
  4. [pywin32] Activer/Désactiver compte Active Directory
    Par Dimontviloff dans le forum Bibliothèques tierces
    Réponses: 1
    Dernier message: 01/12/2004, 17h30
  5. Bouton d'activation/désactivation de tooltips
    Par bigboomshakala dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2004, 08h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo