Bonjour,

Il y a un gars sympa sur le forum (Death83) qui m'avait donné un bout de code pour faire un éditeur de texte.
Le problème c'est que je dois le nettoyer, parce qu'il y a plein de fonction inutile me semble-t'il.
Le deuxième problème c'est que je suis une tare en javascript...

Donc ça, ça va dans les balises head:

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
function BBcode(balise,form,textarea)
{
    switch (navigator.appName)   
    { 
        case "Microsoft Internet Explorer": 
            var haha=document.selection.createRange().text;    
 
            switch(balise)
            {
                case 'color':
                    liste = document.getElementById('color');
                    A = liste.options[liste.selectedIndex].style.color;
                    liste.options[0].selected = true;
                    if(A=='')
                    {
                        insertion="";
                    }
                    else
                    {
                        insertion="["+balise+"="+A+"]"+haha+"[/"+balise+"]";
                    }
                break;
                case 'taille':
                    liste = document.getElementById('taille');
                    A = liste.options[liste.selectedIndex].firstChild.nodeValue;
                    liste.options[0].selected = true;
 
                    if(A=='Taille')
                    {
                        insertion="";                
                    }
                    else
                    {                
                        switch(A)
                        {            
                            case 'Petit':
                            A='x-small';
                            break;
                            case 'Gros':
                            A='x-large';
                            break;
                        }
                        insertion="["+balise+"="+A+"]"+haha+"[/"+balise+"]";            
                    }
                break;
                case 'IMG':
                    var haha=prompt("IMG=","http://");
                break;
                case 'URL':
                    var URL=prompt("Adresse du lien:","http://");
                    var Titre=prompt("Titre du lien:","");
                    var insertion="["+balise+"=\""+URL+"\"]"+Titre+"[/"+balise+"]";
                break;
                case 'b':
                    var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                break;
                case 'i':
                    var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                break;
                case 'u':
                    var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                break;
                case 'li':
                    var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                break;
                default:
                    var insertion=balise;
                break;
            }
 
            with(document.forms[form].elements[textarea]) 
            {
                focus();
            }
            var sel=document.selection.createRange();
            sel.text=insertion;        
        break;
        case  "Netscape": 
            with(document.forms[form].elements[textarea]) 
            {
                var AvantB = value.substring( 0, selectionStart );
                var B = value.substring( selectionStart, selectionEnd );
                var ApresB = value.substring( selectionEnd, selectionEnd +100000);
            } 
            switch(balise)
            {
                case 'color':
                    A=document.forms[form].color.value;
                    if(A=='Noir')
                    {
                        B="";            
                    }
                    else
                    {                
                        switch(A)
                        {
                            case 'Rouge':
                            A='red';
                            break;
                            case 'Bleu':
                            A='blue';
                            break;
                            case 'Vert':
                            A='green';
                            break;                
                        }
                        B="["+balise+"="+A+"]"+B+"[/"+balise+"]";
                        liste = document.getElementById('color');
                        liste.options[0].selected = true;
                    }
                break;
                case 'taille':
                    A=document.forms[form].taille.value;
                    if(A=='Taille')
                    {
                        B="";
                    }
                    else
                    {
                        switch(A)
                        {
                            case 'Petit':
                            A='x-small';
                            break;
 
                            case 'Gros':
                            A='x-large';
                            break;
                        }
                        B="["+balise+"="+A+"]"+B+"[/"+balise+"]";
                        liste = document.getElementById('taille');
                        liste.options[0].selected = true;
                    }
                break;
                case 'IMG':
                    var B=prompt("IMG=","http://");        
                    B="["+balise+"\]"+B+"[/"+balise+"]";    
                break;
                case 'URL':
                    var URL=prompt("Adresse du lien:","http://");
                    var Titre=prompt("Titre du lien:","");
                    B="["+balise+"=\""+URL+"\"]"+Titre+"[/"+balise+"]";
                break;
                case 'u':
                    B="["+balise+"]"+B+"[/"+balise+"]";
                break;
                case 'i':
                    B="["+balise+"]"+B+"[/"+balise+"]";
                break;
                case 'b':
                    B="["+balise+"]"+B+"[/"+balise+"]";
                break;
                case 'li':
                    B="["+balise+"]"+B+"[/"+balise+"]";
                break;
                default:
                    B=balise;
                break;
            }            
            with(document.forms[form].elements[textarea]) 
            {
                focus();
                value= AvantB +""+ B +""+ApresB;
            }
        break;
    }
}
Et ça, ça va au dessus du textarea :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<div id="outils">
                                            <BUTTON type="button" class="out"   onMouseOver="this.className=\'over\';Affiche(\'<b>Texte en gras:</b> Le texte à mettre en gras\', \'ast1\');" onMouseOut="this.className=\'out\';" onClick="BBcode(\'b\',\'postagenews\',\'news\');"><span class=bold>B</span></button> 
                                            <BUTTON type="button" class="out"   onMouseOver="this.className=\'over\';Affiche(\'<i>Texte en italique:</i> Le texte à mettre en italique\', \'ast1\');" onMouseOut="this.className=\'out\';" onClick="BBcode(\'i\',\'postagenews\',\'news\');"><span class="italic">I</span></button> 
                                            <BUTTON type="button" class="out"   onMouseOver="this.className=\'over\';Affiche(\'<u>Soulignement:</u> Le texte à souligner\', \'ast1\');" onMouseOut="this.className=\'out\';" onClick="BBcode(\'u\',\'postagenews\',\'news\');"><span class="underline">u</span></button> 
                                            <BUTTON type="button" class="out"  onMouseOver="this.className=\'over\';Affiche(\'<a href=#>Lien hypertexte:</a> Nom du lien\', \'ast1\');" onMouseOut="this.className=\'out\';" onClick="BBcode(\'URL\',\'postagenews\',\'news\');"><span class="bold">url<span></button> 
                                            <BUTTON type="button" class="out"  onMouseOver="this.className=\'over\';Affiche(\'- Listes: [li]Un élément à lister[/li]\', \'ast1\');" onMouseOut="this.className=\'out\';" onClick="BBcode(\'li\',\'postagenews\',\'news\');">list</button> 
                                            <br>
                                            <div class="astuce" id="ast1">Balises: Sélectionnez le texte à modifier puis cliqué sur une des balises.
                                            </div>
                                        </div>
Le truc c'est que je veux supprimer l'option LIST. Mais je ne sais pas quoi enlever dans le code entre les balises head. En plus j'y pige rien au code, y'a pas un commentaire... Si vous savez en placer quelques-uns, n'hésitez-pas...


Voilà merci d'avance, et j'espère ne pas trop abuser.