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 :

couleur dans un formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2006
    Messages : 79
    Par défaut couleur dans un formulaire
    bonjour tout le monde!

    bon alors c'est parti (c'est long mais pas compliqué, la synthaxe est extremement facile)

    j'ai un formulaire qui envoie un message. or je veux mettre des boutons qui permettent de mettre en gras (donc quand on clique sur le bouton, un code apparait dans mon form qui permet de mettre en gras)

    pour ce faire, j'ai copié collé la fonction (n'y connaissant rien en js, je peux seulement vous afficher la fonction)

    la fonction se trouve sur la page du formulaire:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <p align="center">Envoyer un mail</p></h1> 
    <form name="news" method="post" action="newsletter.php"> 
    <script language="Javascript"> 
    var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false; 
    var regexp = new RegExp("[\r]","gi"); 
     
    function storeCaret(selec) 
    { 
    if (isMozilla) 
    { 
    // Si on est sur Mozilla 
     
    oField = document.forms['news'].elements['message']; 
     
    objectValue = oField.value; 
     
    deb = oField.selectionStart; 
    fin = oField.selectionEnd; 
     
    objectValueDeb = objectValue.substring( 0 , oField.selectionStart ); 
    objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength ); 
    objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd ); 
     
    // alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")"); 
     
    oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin; 
    oField.selectionStart = strlen(objectValueDeb); 
    oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]"); 
    oField.focus(); 
    oField.setSelectionRange( 
    objectValueDeb.length + selec.length + 2, 
    objectValueDeb.length + selec.length + 2); 
    } 
    else 
    { 
    // Si on est sur IE 
     
    oField = document.forms['news'].elements['message']; 
    var str = document.selection.createRange().text; 
     
    if (str.length>0) 
    { 
    // Si on a selectionné du texte 
    var sel = document.selection.createRange(); 
    sel.text = "[" + selec + "]" + str + "[/" + selec + "]"; 
    sel.collapse(); 
    sel.select(); 
    } 
    else 
    { 
    oField.focus(oField.caretPos); 
    // alert(oField.caretPos+"\n"+oField.value.length+"\n") 
    oField.focus(oField.value.length); 
    oField.caretPos = document.selection.createRange().duplicate(); 
     
    var bidon = "%~%"; 
    var orig = oField.value; 
    oField.caretPos.text = bidon; 
    var i = oField.value.search(bidon); 
    oField.value = orig.substr(0,i) + "" + orig.substr(i, oField.value.length); 
    var r = 0; 
    for(n = 0; n < i; n++) 
    {if(regexp.test(oField.value.substr(n,2)) == true){r++;}}; 
    pos = i + 2 + selec.length - r; 
    //placer(document.forms['news'].elements['message'], pos); 
    var r = oField.createTextRange(); 
    r.moveStart('character', pos); 
    r.collapse(); 
    r.select(); 
     
    } 
    } 
    } 
     
    </script>

    ensuite j'ai créé un bouton pour mettre en gras, en souligné, en couleur,et en italique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret('b')"> 
    <input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret('i')"> 
    <input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret('u')"> 
    <input type="button" value="Couleur" onclick="storeCaret('color=(red|green|blue|yellow|purple|olive)')"> Choisi ta couleurs 
    <br>
    puis j'ai fais le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <input type="text" name="titre"> 
    Message :<br> 
        <textarea name="message" id="message" wrap="virtual" cols="100" rows="15"> </textarea> 
    </center> 
     
        <input type="submit" name="Submit" value="Envoyer">
    dans la page ou on recoit le $_POST['message'] j'ai les regex suivantes:
    Code : PHP - Afficher / masquer les numéros de ligne
    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
     
    <?
    if(!empty($titre) && !empty($message)) 
    { 
     
    $titre = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $titre); 
        $titre = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $titre); 
        $titre = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color=(red|green|blue|yellow|purple|olive)\]#isU', '<span style="color:$1">$2</span>', $titre); 
        $titre = preg_replace('#<a href="http://[a-z0-9._/-]+#i" target="_blank">http://[a-z0-9._/-]+#i</a>', '<a href="$0">$0</a>', $titre); 
     
     
    $message = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $message); 
        $message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message); 
        $message = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color=(red|green|blue|yellow|purple|olive)\]#isU', '<span style="color:$1">$2</span>', $message); 
        $message = preg_replace('#<a href="http://[a-z0-9._/-]+#i" target="_blank">http://[a-z0-9._/-]+#i</a>', '<a href="$0">$0</a>', $message);
    ce qui ne va pas:

    quand je clique sur le bouton "gras" les balises apparaissent et fonctionnent
    (je dois inserer du texte entre les deux balises apparaissant )

    mais quand je clique sur u(pour souligner) les balises apparaissent mais ne fonctionnent pas (en mettant du texte entre les balises, rien n'est souligné,les balises ne sont pas traduites)

    de meme pour les couleurs:les balises apparaissent mais ne fonctionnent pas...

    alors que pour mettre en italique,ca fonctionne...les balises apparaissent et fonctionnent....


    vous savez pourquoi? 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
    tinyMCE tu connais ?
    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 confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2006
    Messages : 79
    Par défaut
    ...non...



    ca sert a quoi et ou faut le mettre s'il te plais?

  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
    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 confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2006
    Messages : 79
    Par défaut
    merci, mais...mon code a moi fonctionne ( le gras et l'italique fonctionnent bien)

    seul souligner et mettre en couleur ne fonctionne pas...

    tu sais pourquoi? parceque tinycme ne peut pas repondre a ma question...

    (a moins que j'aie vraiment pas compris...)

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2006
    Messages : 79
    Par défaut
    mais...sinon, comment j'integre ce module a mon code?

    because l'anglais et moi ca fait 2...

Discussions similaires

  1. Ligne de couleur dans un formulaire
    Par paselo dans le forum IHM
    Réponses: 0
    Dernier message: 17/09/2010, 10h14
  2. Couleurs dans les formulaires
    Par enselme dans le forum 4D
    Réponses: 1
    Dernier message: 23/02/2010, 17h15
  3. [AC-2003] couleur dans un formulaire feuille de données
    Par ortiz dans le forum IHM
    Réponses: 2
    Dernier message: 26/11/2009, 15h39
  4. utiliser deux couleurs dans un formulaire
    Par radahm dans le forum IHM
    Réponses: 1
    Dernier message: 05/03/2009, 12h11
  5. Les couleurs dans les formulaires
    Par lolocdm dans le forum IHM
    Réponses: 1
    Dernier message: 19/06/2008, 12h39

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