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 :

changer la couleur d'une partie d'une chaine de caractère


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 85
    Points
    85
    Par défaut changer la couleur d'une partie d'une chaine de caractère
    salut,

    je voulais savoir s'il était possible de changer la couleur d'une partie d'une chaine de caractère. J'ai déjà réussi à faire une sélection d'une partie d'une chaine:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    var oRange = (f.elements[inptxt]).createTextRange();
    oRange.moveStart("character",2); // début de la sélection
    oRange.moveEnd("character",5); // fin de la sélection 
    oRange.select();
    donc j'ai ésayer de remplacer la ligne ou je fais un select par la ligne qui suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRange.style.color="#FF0033";
    Mais ça ne fonctionne pas.
    si quelqu'unà une idéé, je suis preneur, merci.
    La plus grande ruse du diable est de faire croire à tout le monde qu'il n'existe pas.
    Baudelaire

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRange="<div style='color:red'>"+oRange+"</div>"
    ou un truc du genre ...
    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 averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Ca t'irais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function coloriserString(text, debut, fin, color) {
    	return text.substring(0, debut) 
    		+ "<span style='color:" + color + "'>" + text.substring(debut, fin+1) + "</span>"
    		+ text.substring(fin+1);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').innerHTML = coloriserString("ma chaine de caracteres", 3, 8, 'red');

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    je suis d'accord avec le principe, mais cela ne fonctionne pas.

    voilà mon code auquel j'ai intégrer ta fonction:


    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
     
     
    				var val=form1.numref.value;
    				var error=false;
    				var un=(form1.numref.value).substring(0,2);
    				var deux=parseInt((form1.numref.value).substring(2,6));
     
    				if (un.toUpperCase()!="FS" && un.toUpperCase()!="AO" && un.toUpperCase()!="DL" ){
    					alert("Saisie incorrect du numéro de référence!");
    					error=true;
    										document.getElementById('ref').innerHTML = coloriserString(val, 0, 2, 'red');
    				}
     
    				if (isNumeric(deux)){
    					if (deux<=2007){
    						if (error==false){
    							alert("Saisie incorrect du numéro de référence!");
    							error=true;
    						}	
    						document.getElementById('ref').innerHTML = coloriserString(val, 2, 6, 'red');
    					}
     
    				}else{
    					if (error==false){
    						alert("Saisie incorrect du numéro de référence!");
    						error=true;
    					}
    					document.getElementById('ref').innerHTML = coloriserString(val, 2, 6, 'red');
    				}
    La plus grande ruse du diable est de faire croire à tout le monde qu'il n'existe pas.
    Baudelaire

  5. #5
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Qu'est qui ne fonctionne pas ??

    document.getElementById('ref') pointe vers quel élément HTML ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    il poine vers un champs texte, je nai jammais utiliser le innerHTML auparavant, je l'utilise peut etre mal...
    Mais mon texte reste de la même couleur
    La plus grande ruse du diable est de faire croire à tout le monde qu'il n'existe pas.
    Baudelaire

  7. #7
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Tu parles d'un champ <input type="text" /> ?

    C'est normal alors. Moi ca marche avec une DIV ou un truc du genre mais pas une zone de saisie.

    Je suis pas sur que l'on puisse le faire dans une zone de saisie. On peut changer la couleur ok mais c'est soit tout soit rien.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    pourtant j'arrive à sélectionner une partie du champs texte, il doit surement y avoir un moyen de changer la couleur de la sélection.
    La plus grande ruse du diable est de faire croire à tout le monde qu'il n'existe pas.
    Baudelaire

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Non , on ne peux pas changer la couleur du texte ( ou d'une partie ) de cette façon , il faut que tu accèdes aux propriété de ton champs input , puis par les style :

    monchamps.style.color = "red";

    bon courage
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    merci,
    mais la difficulté n'est pas de changer la couleur de mon texte, ca je sais faire, mais de changer seulement une partie de mon texte
    ex : comme ça par exemple

    et ca tu peux pas le faire avec un simple monchamps.style.color = "red";
    La plus grande ruse du diable est de faire croire à tout le monde qu'il n'existe pas.
    Baudelaire

  11. #11
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    tu ne peux pas du tout mettre différente couleur dans un champs input texte
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/07/2014, 14h41
  2. Réponses: 1
    Dernier message: 04/04/2008, 12h14
  3. Sélectionner seulement une partie d'une valeur d'une cellule
    Par ArthurO0O dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/08/2007, 11h05
  4. masquer une partie d'une vidéo par une banniere
    Par lezabour dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2006, 16h47
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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