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 :

[DOM] agir sur le DOM au changement d'une chaîne dans un FORM


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut [DOM] agir sur le DOM au changement d'une chaîne dans un FORM
    Bonjour,

    Le petit script ci-dessous est déclenché par onkeyup dans un input text de formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    document.getElementById('alerte').style.display=
     
    (document.getElementById('fiche').style.display=
     
    document.getElementById('ctx').style.display=
     
    (parseInt(this.value)>=1 && parseInt(this.value)<=500) ?'none':'block') == 'block' ? 'none':'block';
    Mon problème, c'est que je voudrais que ce script se déclenche non plus en présence d'un nombre entre 1 et 500, mais à la modification d'une chaîne alphanumérique indéterminée.

    Quelqu'un peut-il me donner la phrase magique (si elle existe) ?

    MERCI d'avance.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (this.value.search(new RegExp("/\w+/","")) == -1)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    MERCI beaucoup,

    J'essaye, je te tiens au courant dans la journée.

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    enfin selon ce que tu veux faire, ca sera peut etre != -1

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Excuse,

    Je suis archi-nul en javascript, et je ne suis pas arrivé à faire fonctionner ton code.
    Le premier problème est celui des " qui bien sûr plantent PHP.

    Ci-dessous, le copier-coller de ton code dans ma variable, qui en fait est intégrée à une fonction pour construire certains Input text d'un FORM.
    J'ai ajouté des \ d'échappement, le script ne plantait plus, mais il ne marchait pas non plus.
    Si tu vois une solution, MERCI d'avance.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $oku = "onkeyup=\"document.getElementById('alerte').style.display=
    (document.getElementById('fiche').style.display=
    document.getElementById('ctx').style.display=
    (this.value.search(new RegExp("/\w+/","")) == -1) ? 'none':'block') == 'block' ? 'none':'block';\" ";

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    hum je crois que j ai pas trop compris ce que tu voulais faire en fait.

    le search te retourne -1 si il trouve pas de char alphanum.

    Que veut tu faire exactement ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Merci de ton intérêt.

    Ce que je veux est très simple.

    Dans un Input text, il est écrit :

    124RF56

    Quand l'utilisateur commence à modifier cette chaîne, par exemple s'il efface le 6 à la fin :

    124RF5

    Aussitôt, mes display: none s'activent...

    L'idée est de cacher des zones de saisie quand l'utilisateur modifie une variable.

    Si ça peut t'inspirer, merci d'avance.

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh ca serais pas mieux de pas tester du tout et de le faire a chaque fois qu il tape au clavier ?

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Oui, on peut essayer comme ça.

    Je fais un essai en virant la condition et te tiens au courant dans la journée.

    MERCI de ton intérêt.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    siddh, ton idée simple me semble excellente, j'ai essayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $oku = "onkeyup=\"document.getElementById('alerte').style.display='block';
    document.getElementById('fiche').style.display='none';
    document.getElementById('ctx').style.display='none'\";";

    Et cela semble remplir exactement le but recherché.

    Prudent, j'attends demain pour cocher résolu, MERCI.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    mais si il retape la même chose ?

    ne vaudrait il mieux pas passer par le onchange ?
    ou stocker la valeur dans une variable globale au démarrage et tester à ce moment là sur le onkeyup si le contenu est egal à la variable ?

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    j'ai pas trop compris le but,
    visiblement c'est repérer les frappes et c'est tout.

    :

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    modification d'une chaîne alphanumérique indéterminée.
    si tu tapes la même chose par dessus doit on considéré que la chaine à été modifiée ?

    si tu remplaces:

    124RF56 par 124RF56

  14. #14
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    je sais pas ce qu'il veut
    pas compris sa demande ^^

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    si tu tapes la même chose par dessus doit on considéré que la chaine à été modifiée ?
    Dans ce cas, on peut considérer que la chaîne n'a pas été modifiée.

    Le but recherché est une (petite) sécurité dans un module d'administration. Tu caches des zones de saisie quand l'utilisateur change de numéro de fiche, un truc rapide et tout simple.
    [/quote]

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2010, 13h52
  2. Agir sur la couleur des lignes d'une TStringGrid
    Par Delphi-ne dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2009, 17h46
  3. Changement d'une option dans le composant TXMLDocument
    Par Faith's Fall dans le forum C++Builder
    Réponses: 10
    Dernier message: 30/10/2007, 16h53
  4. Réponses: 1
    Dernier message: 23/11/2006, 12h22
  5. changement d'une icone dans un button
    Par Arnaud Malabeux dans le forum MFC
    Réponses: 7
    Dernier message: 16/05/2006, 12h40

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