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

JavaScript Discussion :

Checkbox autorise/prohibel'écriture d'un PWD


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé 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 : 41
    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
    Par défaut Checkbox autorise/prohibel'écriture d'un PWD
    Bonjour tout le monde.

    J'ai un champ input type=password que je voudrais protéger en écriture dès qu'une checkbox est cochée.
    Mon souhait serait de la mettre en readonly, mais avec un rendu graphique identique au disabled. (car le disabled m'empêche de récupérer sa valeur).

    Problème je n'arrive pas à activer/désactiver le readonly avec un JavaScript.
    Problème 2, je narrive pas à changer la couleur de mes "boulettes" dans le champ.

    Voici mon code JS :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    function disableInput(obj){
        if(document.forms[0].useNameAsPassword.checked){
            document.forms[0].<%=MessageContent.PASSWORD%>.readonly='true';
        }else{
            document.forms[0].<%=MessageContent.PASSWORD%>.readonly='false';
        }
    }
     
    function inputDisabled(obj){
       if(document.forms[0].useNameAsPassword.checked){
            document.forms[0].<%=MessageContent.PASSWORD%>.blur();
            //document.forms[0].<%=MessageContent.PASSWORD%>.style.display="none";
            //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);
    }
    Et voici mes champ PASSWORD et CHECKBOX :
    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>
    Si quelqu'un voit d'où vient mon problème ou détiens une solution, je suis preneur.

    PS: Je pensais ce sujet en rapport avec HTML et je l'ai déjà posté sur ce forum ici. Désolé pour ça.

  2. #2
    Membre éclairé 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 : 41
    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
    Par défaut C'est bien, mais c'est pas fini
    Je crois qu'il y a un proverbe qui dit "On est jamais mieux servi que par moi même" -Non en réalité, tous les honneurs reviennent à SpaceFrog, qui a fait remarqué dans un autre post une bête erreur... de casse !!!!

    Voici donc le résultat chez moi avec la fonction JavaScript :
    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
    function enableInput(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){
        divObj.setAttribute("readOnly","readOnly");
        divObj.style.background = '#DBDBDB';
        }else if(divObj){
        divObj.removeAttribute("readOnly");
        divObj.style.background = '#FFFFFF';
        divObj.focus();
        }
     
     
        document.forms[0].<%=MessageContent.PASSWORD%>.focus();
     
        _update(obj);
    }
    les plus doués remarqueront une majuscule sur le O de readOnly.

    et la déclaration du formulaire suivante :
    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" style="background-color:#DBDBDB" value="<%=projects.get(0)%>"  readOnly="readOnly">
                        </TD>
                        <TD></TD>
                        <TD>
                            <input type="checkbox" name="useNameAsPassword" checked onclick="enableInput('<%=MessageContent.PASSWORD%>', this.checked, this);">Use project name for password
                        </TD>
    Voilà, ainsi, c'est pas mal, mais j'aurais préféré changer la couleur des bullets du password et non le fond. Or si j'essaie de changer le foreground au lieu du background... rien ne se passe. Une idée ?

  3. #3
    Membre éclairé 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 : 41
    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
    Par défaut Finalement, ça suffira.
    Ok les gens.

    Je pense que je ne vais pas passer plus de temps sur ce problème. On va dire que ça va bien comme ça et que c'est suffisament explicite et clair.

    J'ai coloré le fond en gris et je ne suis pas sûr que ce soit vraiment trivial de coloré les "bullets".

    Merci quand même. @+

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

Discussions similaires

  1. PB d'autorisation d'écriture
    Par saphi dans le forum Langage
    Réponses: 4
    Dernier message: 14/07/2009, 11h37
  2. Réponses: 11
    Dernier message: 28/05/2008, 21h21
  3. Checkbox autorise/prohibel'écriture d'un PWD
    Par leminipouce dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/06/2006, 19h09
  4. Pb pour autoriser l'écriture d'un fichier
    Par slimounet dans le forum ASP
    Réponses: 6
    Dernier message: 25/04/2006, 16h09
  5. [W3C] Ne pas autoriser l'écriture dans un champ INPUT
    Par kerlann dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 24/04/2006, 10h22

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