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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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.

  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
    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 chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    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 confirmé
    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
    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');
    				}

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

    Informations professionnelles :
    Activité : Développement

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

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

  6. #6
    Membre confirmé
    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
    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

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