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 :

[BBCode] Insertion de smiley dans textarea


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Points : 51
    Points
    51
    Par défaut [BBCode] Insertion de smiley dans textarea
    Je cherche à intégrer des smileys dans ma textarea mais l'insertion ne fonctionne pas. J'utilise Firefox avec Firebug et visiblement le problème se situe au moment de la sélection du smiley (sélection grâce à des radiobutton).
    Firebug m'indique que ration n'est pas défini (ratio is not defined). Pourtant ratio correspond bien au nom du bouttonradio !!

    Voici mon code :
    Affichage des smileys
    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
     
    <p>Smiley :
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="1">
    	<img src="smileys/classe.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="2">
    	<img src="smileys/clindoeuil.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="3">
    	<img src="smileys/content.png" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="4">
    	<img src="smileys/demonNon.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="5">
    	<img src="smileys/demonOui.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="6">
    	<img src="smileys/enerve.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="7">
    	<img src="smileys/exclam.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="8">
    	<img src="smileys/fleche.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="9">
    	<img src="smileys/hallucinant.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="10">
    	<img src="smileys/heureux.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="12">
    	<img src="smileys/honte.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="13">
    	<img src="smileys/idee.png" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="14">
    	<img src="smileys/interro.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="15">
    	<img src="smileys/langue.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="16">
    	<img src="smileys/lol.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="17">
    	<img src="smileys/pleur.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="18">
    	<img src="smileys/triste.gif" width="15" height="15">
    	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="19">
    	<img src="smileys/yeuxroule.gif" width="15" height="15">
    	<br />
    	<input name="button" type="button" OnClick="javascript:smiley();" value="Ajouter au message">
    	<br />
    </p>
    Affichage dans la textarea du code correspondant à ces smileys :
    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
     
    <script language="JavaScript" type="text/javascript">
    function smiley()
    {
    	var smiles = new Array(':classe:',':clindoeuil:',':content:',':demonNon:',':demonOui:',':enerve:',':exclam:',':fleche:',':hallucinant:',':heureux:',':honte:',':idee:',':interro:',':langue:',':lol:',':pleur:',':triste:',':yeuxroule:')
    	with(document.poster)
    	{
    		var smile = ratio.value;
    		if(smile[smile-1])
    		{
    			if(msg.createTextRange)
    			{
    				var text;
    				msg.focus(msg.caretPos);
    				msg.caretPos = document.selection.createRange().duplicate();
    				mag.caretPos.text = smiles[smile-1];
    			}
    			else
    			{
    				msg.value += smiles[smile-1];
    			}
    		}
    	}
    }
    </script>
    J'ai aussi un autre problème moins important :
    Visiblement, la fonction createTextRange ne semble pas fonctionner sous Firefox. Cela m'empêche de positionner mes balises BBCode sur le texte sélectionné, la balise va toujours en fin de texte.
    Existe-il un code qui fonctionnerai sous Firefox et IE ??

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    une erreur de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="ratio.value='1';"
    Sinon, si ratio est une variable globale, comment et où est-elle déclarée ?
    Si ce n'est pas le cas, que veux-tu faire avec cette instruction (de toutes façons incorrecte en l'état, de même que dans la fonction smiley() ) ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Points : 51
    Points
    51
    Par défaut
    J'ai chopé ce code sur internet. Je pensais que la variable globale faisait partie des radiobutton qu'ils avaient tous une valeur en commun et que lorsque l'on clique sur l'un d'entre eux, cette valeur se modifie.
    Est-ce que je pourrait donner directement le nom du smiley dans la valeur des radiobutton puis les récupérer dans le code javascript en fonction de celui qui est sélectionné ??

    Merci pour cette réponse ultra rapide !!

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Points : 51
    Points
    51
    Par défaut
    Finalement, j'ai laissé tomber les boutons radio pour utiliser l'image des smiley avec click pour les utiliser.

    Merci quand même

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

Discussions similaires

  1. Insertion balise html dans Textarea
    Par flow-bolox dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 13/07/2007, 16h43
  2. Smiley dans TextArea pour chat
    Par kehops31 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 25/07/2006, 14h19
  3. Insertion d'info dans un textarea
    Par krown dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/01/2005, 21h32

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