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 :

[debutant] smiley


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut [debutant] smiley
    salut

    jaimerai savoir comment je pourrait faire que lorsque je click sur une image, sa menvoie un code de texte dans une zone de texte ????

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <img scr="..." onclick="document.getElementById('zoneText').innerHTML = 'Mon text'">
     
    <div id="zoneText"></div>

  3. #3
    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
    += serait sans doute plus approprié ...

    maintenant pour l'inséer à l'endroit du curseur c'est une autre paire de manches ...
    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 !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    c'est dur ?

  5. #5
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par cyrill
    c'est dur ?
    Le code BB qui fait ça. A toi de voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function emoticon(text) {
    	var txtarea = document.post.message;
    	text = ' ' + text + ' ';
    	if (txtarea.createTextRange && txtarea.caretPos) {
    		var caretPos = txtarea.caretPos;
    		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
    		txtarea.focus();
    	} else {
    		txtarea.value  += text;
    		txtarea.focus();
    	}
    }

  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
    aussi simple que ça pour IE et ffx ?
    c'est pas que la partie IE ça ?
    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 éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    une ptite explication du code serait la bienvenue non?

    parceque je comprend pas deja la 1er variable txtarea d'ou ca sort dsl

    enfin un ptit peu d'aide :-) ou un lien sur un tuto par exemple moi j'aime bien les tuto :-)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    Voila j'aitrouvé un morceaux de code qui fonctionne super bien et pas trop compliqué a comprendre

    le code javascript :
    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
     
    <script language="JavaScript" type="text/JavaScript"> 
    <!-- 
     function addSmiley(codesmiley) 
      { 
      var msg = document.messagerie.mtexte; // Remplace formulaire par le nom de ton formulaire 
                                              // et zonetext par le nom de la textbox ou textarrea 
     
       // Compatible IE 
       if(document.selection) 
       { 
       msg.focus(); 
       sel = document.selection.createRange(); 
       sel.text = codesmiley; 
       document.step2.focus(); 
       } 
      else if(msg.selectionStart || msg.selectionStart == "0") 
       { 
       var startPos = msg.selectionStart; 
       var endPos = msg.selectionEnd; 
       var chaine = msg.value; 
     
       msg.value = chaine.substring(0, startPos) + codesmiley + chaine.substring(endPos, chaine.length); 
       msg.selectionStart = startPos + codesmiley.length; 
       mdg.selectionEnd = endPos + codesmiley.length; 
       msg.focus(); 
       } 
      else 
       { 
       msg.value += codesmiley; 
       msg.focus(); 
       } 
      } 
    //--> 
    </script>
    Le code a inséré pour les liens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href="#" onClick="addSmiley(' {CODE} '); return(false)">
    <img src="forum\images\smiles/{LIEN1}" name="{NAME1}" title="{TITTLE1}" width="16" height="16" border="0">
    </a>
    il faut biensur remplacer le code des variables en {} par les bonnes valeurs.

    voila en esperant t'avoir aidé.

    maintenant y a peut etre plus simple mais faut m'expliquer lol

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    Par contre j'arrive pas a faire fonctionner le code phpbb que j'ai a peu pres compris je dois avoir un problem de lien sans doute


    EDIT :

    Apres avoir reflechis sur le code ect j'ai enfin trouvé mon bonheur.

    Le premier code tres long mais tres simple a comprendre m'a beaucoup aidé pour le suivant.
    D'ailleur y a une faute dedans.

    Le premier code ne continue pas sur la ligne ou on est et est tres lent me rafraichis la page ect....

    Le deuxieme code (phpbb) lui trtes complexe au premier abord, mais tres efficace, en consultant les code source des pages htlm généré j'ai compris comment ils fonctionnaient alors petite explication.

    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
     
    function emoticon(text) {  
        var txtarea = document.post.message; //remplacer post par le nom du formulaire ou va agir la fonction
    // remplacer message par le nom du textarea ou va se metre le code du smiley  /!\ ne pas se tromper.
        text = ' ' + text + ' ';  
        if (txtarea.createTextRange && txtarea.caretPos) {  
           var caretPos = txtarea.caretPos;  
           caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == 
    ' ' ? caretPos.text + text + ' ' : caretPos.text + text;  
           txtarea.focus();  
        } else {  
           txtarea.value  += text;  
           txtarea.focus();  
        }  
     }
    Tout ce code est bien entendu a metre entre le head de la page html avec le ptit tag javascipt qui va bien.

    Ensuite faut metre un lien correcte pour que cela fonction
    voici le lien type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="javascript:emoticon('{CODE1}')">
    <img src="forum\images\smiles/{LIEN1}" title="{TITLE1}" width="16" height="16" border="0">
    </a>
    il faut remplacer les variables entre {} par vos valeurs et voila ca fonctionne nikel le curseur se remet a la suite de votre texte la page je sais meme pas si elle se rafraichis en tout cas ca se voit pas et c'est top

    voila j'espere en avoir aidé plus d'un comme ca.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    me revoila avec mes petits problèmes de smiley.

    Bon j'ai reussis a faire dans un textarea mais maintenant je voudrais pouvoir inserer un mon smiley a l'endroit du curseur mais le curseur peut se trouver dans 2 textarea different.

    C'est possible?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    UP

    c'esdt pas possible d'avoir une barre de smiley pour 2 textarea different sur une meme page?

  12. #12
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    Le problème, c'est que quand tu cliques sur ton smiley, le curseur (ou pour utiliser le bon vocabulaire, le focus) n'est plus dans un textarea, mais sur ton smiley...
    Pour contourner ceci, tu pourrais mettre à jour une variable à chaque fois que le focus arrive dans l'un de tes textarea:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var dernierFocus;
    <textarea onfocus="dernierFocus = this;"></textarea>
    Ensuite, à la place d'envoyer le code du smiley à un textarea particulier, tu l'envoies vers ta variable dernierFocus qui référence le dernier textarea visité.

    [edit]La définition de ta variable dernierFocus doit évidemment se trouver dans une zone de script[/edit]

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    oki merci je vais testé ca.

    Sinon pour la definition de variable tu parles bien de var dernierforus, qui doit etre dans la zone de javascript c'est ca?

    Ensuite le probleme dans le onfocus ne risque t il pas de pas savoir dans quel form il se trouve le focus?

    Et si les textarea on le meme nom ca risque de pas fonctionner je pense.

Discussions similaires

  1. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  2. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  3. Réponses: 3
    Dernier message: 09/02/2003, 01h09
  4. Smiley (image dans un RichEdit)
    Par Waxayaz dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/02/2003, 14h32

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