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 :

Mettre un texte en surbrillance


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut Mettre un texte en surbrillance
    Bonjour,

    Je voudrais savoir s'il était possible de sélectionner la partie texte d'un élément en la mettant en surbrillance.

    Je sais que c'est possible dans un input à l'aide de la fonction select(), seulement je n'ai rien trouvé en ce qui concerne les autres éléments (et moi j'en ai besoin dans un td).

    J'ai bien vu une méthode avec createRange ou createTextRange mais apparement c'est seulement compatible IE et mon site de référence pour le javascript ne connaît pas cette fonction, alors je suis sceptique.

    Donc si vous connaissez une méthode qui soit crossbrowsers, je suis preneur !

    Merci d'avance,
    Loceka.

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    la partie à mettre en sur-brillance est sélectionnées comment ? par l'utilisateur ou c'est un texte prédéfini ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    C'est un texte prédéfini.

    En fait j'utilise le composant gridhtml qui est un tableau affichant des valeurs.

    Ces valeurs peuvent être modifiées par l'utilisateur en double-cliquant sur une case par exemple et ce que j'aimerais c'est que, lors de l'édition de la case, le texte soit préselectionné.

    Le problème étant que ce sont des td et non des input (tant qu'à faire...).

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ben si le texte est prédéfini, rien de plus simple ... avec un replace en regExp tu viens encadrer le texte avec une balise span avec un style background color ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function surbrillance(ou,quoi){
    var StrReg="("+quoi+")";
    var Reg=new RegExp(StrReg,"gi")
    return ou.innerHTML.replace(Reg,'<span style="background-color:yellow;">$1</span>')
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div onclick="this.innerHTML=surbrillance(this,'red')" > red bonjour red rediriger quoi  </div>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Arf, je me suis mal exprimé.

    Par mettre en surbrillance, je voulais dire selectionner le texte. Comme si l'utilisateur l'avait sélectionné avec la souris.
    Comme ça il n'aurait plus qu'à entrer la valeur désirée sans avoir à selectionner lui-même le texte à la main.

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Ha tu veux dire donner le focus ??

    Mais il ne pourra pas saisir par dessus ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    (Joli effaçage de post)

    Justement si, avec le tableau généré par dhtmlxgrid (démo ici), il est tout à fait possible de re-saisir du texte par dessus.

    En fait chaque cellule "éditable" de leur tableau se comporte exactement comme un input (à la différence près que c'est en fait un td avec ce que ça a comme avantages et inconvénients).

    A vrai dire je n'ai pas regardé comment ils font pour rendre le contenu du tableau éditable, leur code est imbuvable, non indenté et de toute façon on n'a pas le "droit" de savoir ça théoriquement.

    Bref, tout ce que je sais c'est que l'utilisateur peut sélectionner le contenu de la cellule à la main, donc je voudrais le faire à sa place.

  8. #8
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    à mon avis le code génère un input qu'il colle à l'endroit voulu ...
    il suffit de retrouver la trace de cet input et de lui donner le focus ..

    PS: je n'ai pas effacé le post mais je l'ai fusionné avec le précédent
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Bien joué !

    En effet, il crée un input lors de la sélection de la cellule.

    Du coup ça devient simple.

    Merci beaucoup.

    Du coup, je doûte que mon post en lui-même serve à qui que ce soit, c'est trop spécifique... tant pis.

  10. #10
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    SI peut être pour la surbrillance, la vraie
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. [WD-2007] macro pour mettre texte en surbrillance
    Par Kikri dans le forum VBA Word
    Réponses: 3
    Dernier message: 31/10/2018, 17h22
  2. Mettre des mots en surbrillance dans un texte
    Par Moloc'h dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 19h03
  3. Sur la même ligne mettre du texte à gauche et à droite
    Par Oberown dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 20/06/2007, 15h50
  4. Réponses: 39
    Dernier message: 30/06/2005, 15h18
  5. Mettre du texte sur une vidéo(ou par dessus un tmediaplayer)
    Par souch dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/07/2004, 13h30

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