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 :

Barre d'outils en javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Par d�faut Barre d'outils en javascript
    Bonjour, j'essaie de faire une barre d'outils avec des boutons qui permettent d'�crire du texte dans un textarea, lorsqu'on clique sur un bouton, cela affiche des balises .

    Mon probl�me est lorsque l'on clique sur les boutons, le code s'affiche en bas de page... Comment peut-on y rem�dier pour que le code s'�crive o� le pointeur est positionn� ?

    PS : Je n'ai pas de bonne base en javascript, j'en ai seulement besoin pour un �diteur de texte..

    Voici mon code

    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
     
    <script language="JavaScript" type="text/javascript">
     
    function AddText(startTag,defaultText,endTag) 
    {
       with(document.poster)
       {
          if (text.createTextRange) 
          {
             var text;
             text.focus(text.caretPos);
             text.caretPos = document.selection.createRange().duplicate();
             if(text.caretPos.text.length>0)
             {
     
                var sel = text.caretPos.text;
                var fin = '';
                while(sel.substring(sel.length-1, sel.length)==' ')
                {
                   sel = sel.substring(0, sel.length-1)
                   fin += ' ';
                }
                text.caretPos.text = startTag + sel + endTag + fin;
             }
             else
                text.caretPos.text = startTag+defaultText+endTag;
          }
          else text.value += startTag+defaultText+endTag;
       }
    }
    </script>


    Merci d'avance !!

    Bonne soir�e

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Salut.

    Bon, tout d'abord, � titre personnel, je d�conseilles absolument l'utilisation de with pour une raison assez simple : dans le corps du with, JavaScript va essayer d'attribuer l'argument du with avec chaque instruction, le probl�me est que si l'on reprend ton exemple, que va-t-il se passer d'apr�s toi si tu invoques une propri�t� / m�thode qui soit commune � window et document.poster ?
    Je te conseilles donc plut�t si tu tiens absolument � ne pas r�p�ter document.posteur (ce qui se justifie tout � fait si tu fais souvent r�f�rence � cet objet) de stocker cet objet dans une variable :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var ref = document.posteur;
    comme �a, tu sais exactement � quel objet tu fais r�f�rence en appelant des propri�t�s ou m�thodes.

    Bref, concernant ton probl�me, c'est un grand classique. Tu appelles certainement les fonctions de ta barre d'outils sur le onclick des boutons associ�s. Le probl�me, c'est que le onclick donne le focus � ce bouton, donc le texte s�lectionn� perd le focus et n'est donc plus s�lectionn�
    La solution est de passer par l'�v�nement onmousedown, qui devra syst�matiquement renvoyer false pour que le texte garde le focus et reste s�lectionn� !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Par d�faut
    Merci de votre conseil, ainsi que de votre aide !!

    J'utilise ceci pour ma page

    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
     
    echo '<form name="poster" method="post" action="?page='.$page.'&a=save">';
     
    //MENU |
     
    echo"
     
    <a href=\"javascript:AddText('= Titre =','','');\" title=\"Grand titre\"><img src=\"$img_menu/h1.png\"></a>  
    <a href=\"javascript:AddText('== Titre ==','','');\" title=\"Titre moyen\"><img src=\"$img_menu/h2.png\"></a>  
    <a href=\"javascript:AddText('=== Titre ===','','');\" title=\"Petit titre\"><img src=\"$img_menu/h3.png\"></a>  
    ";
     
    include("./System/script.html");
     
    echo"\n<textarea rows=\"20\" cols=\"80\" name=\"text\" wrap=\"virtual\" onmouseover=\"this.focus();\" id='text'>$data</textarea>\n";
    	echo '<p><input type="submit" value="Enregistrer" class="button" /></p>';
    	echo "\n</form>\n";
    }
    J'utilise la fonction "AddText", je dois la remplacer par onmousedown ?

    Puis, modifier dans mon script "function AddText(startTag,defaultText,endTag) " par function onmousedown (startTag,defaultText,endTag) ?

    Merci d'avance, �a me fait plaisir de comprendre le javascript !
    J'utilise surtout le PHP

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Par d�faut
    D'accord, excusez-moi pour le PHP

    Donc pour le html, j'obtiens ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <a href="#" onmousedown="AddText('= Titre =','','');return false" title="Grand titre"><img src="$img_menu/h1.png"></a>
     
    <textarea rows="20" cols="80" name="text" wrap="virtual" onmouseover="this.focus();" id='text'>$data</textarea>
    L'�v�nement onmouseover, doit �tre remplac� par onmousedown dans mon code html pour le textarea ?

    Pourriez-vous m'aider pour le "bidouillage" de mon script en javascript ?

    Merci d'avance !

    Bonne soir�e

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Non, normalement, tu devrais juste avoir � faire les modifications indiqu�es dans mon message pr�c�dent.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Par d�faut
    D'accord, mais je ne vois pas ce que je dois modifier dans mon script...
    Faut-il modifier le comportement du "focus" ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
             text.focus(text.caretPos);
    Merci d'avance

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    Non, normalement, tu devrais juste avoir � faire les modifications indiqu�es dans mon message pr�c�dent.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Barre d'outil en javascript
    Par AurelienNF dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 31/08/2010, 22h46
  2. [VB6]Barre d'outil
    Par SpaceFrog dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 06/02/2003, 11h48
  3. [VBA-E] Barre d'outil créée automatiquement
    Par gjeff dans le forum Macros et VBA Excel
    R�ponses: 3
    Dernier message: 12/12/2002, 16h45
  4. [VB6] [Interface] Icones de boutons de barre d'outils
    Par elifqaoui dans le forum VB 6 et ant�rieur
    R�ponses: 9
    Dernier message: 13/09/2002, 15h50
  5. Barre d'outils
    Par MANU_2 dans le forum Composants VCL
    R�ponses: 3
    Dernier message: 04/08/2002, 22h48

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