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 :

[POO]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut [POO]
    Bonjour,

    J'ai besoin d'aide sur le point suivant:

    Connaissez-vous l'inverse de la fonction "select()" s'appliquant sur des champs de type text/textarea ? Une sorte de fonction permettant de déselectionner le contenu d'un champ en javascript ?

    Explications détaillées :
    Actuellement sur une page de site, j'utilise un petit code javascript pour donner le focus à certains champ de formulaire en fonction de certaines choses.
    En plus, lorsqu'un champ gagne le focus, un "select()" est exécuté sur le champ en question pour pré-sélectionner son contenu.

    Mon problème est le suivant : La sélection du contenu ne concerne que des champs de type text / textarea, or j'ai aussi des listes déroulantes sur ma page, et lorsque celle-ci gagne le focus, je ne fais pas de "select()" sur l'objet liste puisque cette fonction javascript ne s'applique pas aux listes.
    Le hic c'est que lorsque le focus passe d'un champ text à un autre, le contenu du précédent champ est automatiquement désectionné puisque le contenu du nouveau est sélectionné, mais dans le cas d'un passage d'un champ text à une liste, le contenu du champ précédent (de type texte) reste sélectionné même si c'est la liste qui a le focus.

    J'aimerai donc savoir s'il existe une fonction inverse à la fonction "select()" applicable sur des champs de type text/textarea ?
    Ou éventuellement si quelqun a une idée de comment faire autrement ?

    Petite précision: ma page est construite dynamiquement donc impossible de coder les choses "en dur".

    Merci de m'avoir lu et pour les aides éventuelles apportées.

    Cdt,

  2. #2
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Non, il n'y a pas de méthode inverse à select()

    Désolé, je ne connais pas de solution.

  3. #3
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    Ok, et pourtant lorsque tu as un contenu de texte sélectionné et que tu fais TAB pour aller au champ suivant, le contenu du texte est bien désectionné.
    Comment cela est-il fait ? J'imagine que ça puisse être reproductible via un script JS non ?

  4. #4
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Et bien tu as peut-être répondu à ta question. As-tu essayé de faire quelque chose ressemblant à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elementPrecedent.blur();

  5. #5
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    Oui mais sans grand succès malheureusement pour moi.

    La fonctione blur fait bien perdre le focus, mais ne déselectionne pas le texte pré-sélectionné avec la fonction select()

    Par je n'y avais pas pensé avant mais... sur ces fameux éléments (des textarea), j'ai ré-écrit la fonction blur.
    Il se peut donc que ce soit pour ça qu'un tel code ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ( elemt.nodeName.toLowerCase() == "select" ){
    	self.document.activeElement.blur();
    }
    elemt.focus();

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il existe une astuce sur FF en utilisant selectionStart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monText').selectionStart=document.getElementById('monText').value.length;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. [POO] C'est quoi une classe en claire...???
    Par Spack dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 26/01/2009, 15h53
  2. Réponses: 16
    Dernier message: 06/06/2007, 12h42
  3. Réponses: 13
    Dernier message: 28/08/2004, 18h43
  4. [langage] Pb POO perl
    Par loothoof dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2004, 12h08
  5. lier un cube à un objet (POO)
    Par Hypnos dans le forum OpenGL
    Réponses: 12
    Dernier message: 26/08/2003, 21h46

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