Salut à tous,
J'ai fait un bbcode, et j'utilise entre autre cette fonction avec des listes déroulantes (pour la taille du texte). Or quand je sélectionne un texte que je lui applique une taille par exemple "très grand" ça fonctionne mais ensuite la liste déroulante garde par défaut ce que je vient de sélectionner c'est à dire la taille "très grand". Du coup quand ensuite je veut appliquer cette taille à nouveau, rien n'est inséré.
Que dois je faire pour que la liste déroulante revienne à sa valeur par défaut (ici "Taille du texte") ?
Voilà mon code html avec la liste déroulante
voilà ma fonction javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <select name="taille_texte" class="taille_texte" onchange="javascript:bbcode('[taille=' + this.value + ']', '[/taille]','textarea')"> <option selected="selected">Taille du texte</option> <option value="tres_petit">Très petit</option> <option value="plus_petit">Plus petit</option> <option value="petit">Petit</option> <option value="normal">Normal</option> <option value="grand">Grand</option> <option value="plus_grand">Plus grand</option> <option value="tres_grand">Très grand</option> </select>
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 function bbcode(text1,text2,champ) { var tag = document.getElementById(champ); if(document.selection) { // IE var str = document.selection.createRange().text; tag.focus(); var sel = document.selection.createRange(); if(text2 != "") { if(str == "") { sel.text = sel.text + text1 + text2; sel.moveStart("character", -text2.length); sel.moveEnd("character", -text2.length); sel.select(); } else sel.text = text1 + sel.text + text2; } else sel.text = sel.text + text1; } else if(tag.selectionStart || tag.selectionStart == 0) { // Moz if(tag.selectionEnd > tag.value.length) tag.selectionEnd = tag.value.length; var firstPos = tag.selectionStart; var secondPos = tag.selectionEnd + text1.length; var contenuScrollTop = tag.scrollTop; tag.value = tag.value.slice(0,firstPos) + text1 + tag.value.slice(firstPos); tag.value = tag.value.slice(0,secondPos) + text2 + tag.value.slice(secondPos); tag.selectionStart = firstPos + text1.length; tag.selectionEnd = secondPos; tag.focus(); tag.scrollTop = contenuScrollTop; } else { // Opera var sel = document.hop.contenu; var inst = countInstances(text1,text2); if(inst%2 != 0 && text2 != "") sel.value = sel.value + text2; else sel.value = sel.value + text1; } }Merci d'avance pour votre aide !
Partager