Bonjour à tous,

Je tente toujours de créer mon forum et j'en arrive à la partie ou l'utilisateur peur mettre en forme son texte et utiliser les smileys. Je dois donc utiliser du JavaScript mais je ne sais pas comment.

Après un bon nombre de recherches voila 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
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

protected void Page_Load(object sender, EventArgs e)
    {
        System.Text.StringBuilder str = new System.Text.StringBuilder();

        str.Append("<script language=JavaScript>");
        str.Append("");

        str.Append("function smilies(img)");
		str.Append("{");
			str.Append("window.document.formulaire.message.value += '' + img + '';");
		str.Append("}");
		
		str.Append("function bbcode(bbdebut, bbfin)");
		str.Append("{");
			str.Append("var input = window.document.formulaire.message;");
			str.Append("input.focus();");
			str.Append("if(typeof document.selection != 'undefined')");
			str.Append("{");
				str.Append("var range = document.selection.createRange();");
				str.Append("var insText = range.text;");
				str.Append("range.text = bbdebut + insText + bbfin;");
				str.Append("range = document.selection.createRange();");
				str.Append("{");
					str.Append("range.move('character', -bbfin.length);");
				str.Append("}");
				str.Append("else");
				str.Append("{");
					str.Append("range.moveStart('character', bbdebut.length + insText.length + bbfin.length);");
				str.Append("}");
				str.Append("range.select();");
			str.Append("}");
			str.Append("else if(typeof input.selectionStart != 'undefined')");
			str.Append("{");
				str.Append("var start = input.selectionStart;");
				str.Append("var end = input.selectionEnd;");
				str.Append("var insText = input.value.substring(start, end);");
				str.Append("input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);");
				str.Append("var pos;");
				str.Append("if (insText.length == 0)");
				str.Append("{");
					str.Append("pos = start + bbdebut.length;");
				str.Append("}");
				str.Append("else");
				str.Append("{");
					str.Append("pos = start + bbdebut.length + insText.length + bbfin.length;");
				str.Append("}");
				str.Append("input.selectionStart = pos;");
				str.Append("input.selectionEnd = pos;");
			str.Append("}");
			str.Append("else");
			str.Append("{");
				str.Append("var pos;");
				str.Append("var re = new RegExp('^[0-9]{0,3}$');");
				str.Append("while(!re.test(pos))");
				str.Append("{");
				str.Append("pos = prompt('insertion (0..' + input.value.length + '):', '0');");
				str.Append("}");
				str.Append("if(pos > input.value.length)");
				str.Append("{");
					str.Append("pos = input.value.length;");
				str.Append("}");
				str.Append("var insText = prompt('Veuillez taper le texte');");
				str.Append("input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);");
			str.Append("}");
            str.Append("}");

        str.Append("</script>");

        string sb = str.ToString();

        ButtonGras.Attributes.Add("OnClick", "bbcode('[g]', '[/g]');return(false)");
        ButtonItalic.Attributes.Add("OnClick", "bbcode('', '');  return(false)");
        ButtonLien.Attributes.Add("OnClick", "bbcode('', ''); return(false)");
        ButtonSouligne.Attributes.Add("OnClick", "bbcode('', ''); return (false)");
        ImageButtonChoc.Attributes.Add("OnClick", "smilies(':O');return(false)");
        ImageButtonConfus.Attributes.Add("OnClick", "smilies(':s');return(false)");
        ImageButtonCool.Attributes.Add("OnClick", "smilies(':frime:');return(false)");
        ImageButtonExclamation.Attributes.Add("OnClick", "smilies(':exclamation:');return(false)");
        ImageButtonHeureux.Attributes.Add("OnClick", "smilies(':D');return(false)");
        ImageButtonLol.Attributes.Add("OnClick", "smilies(':lol:');return(false)");
        ImageButtonQuestion.Attributes.Add("OnClick", "smilies(':interrogation:');return(false)");
        ImageButtonRire.Attributes.Add("OnClick", "smilies('XD');return(false)");
        ImageButtonTriste.Attributes.Add("OnClick", "smilies(':triste:');return(false)");
Bien entendu cela ne fonctionne pas et de plus lorsque je clique sur le bouton Gras par exemple, il y a un PostBack, ce que je ne désire pas.

Lors de mes recherches j'ai trouvé qu'il fallait peut-être utiliser en plus Page.RegisterClientScriptBlock("qqch", sb) mais une erreur m'est retournée.

Pourriez-vous m'aider svp? Là je calle.

Merci d'avance!