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

C# Discussion :

JavaScript en code-behind


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut JavaScript en code-behind
    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!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Je vous donne également le code HTML pour être complet :

    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
     
     
    		<fieldset><legend>
                <asp:Label ID="LabelMiseEnFormeFieldSet" runat="server" Text="Label"></asp:Label></legend><br />
                <asp:Button ID="ButtonGras" runat="server" Text="Gras" OnClientClick="bbcode('[g]','[/g]');return(false)"/>
                <asp:Button ID="ButtonItalic" runat="server" Text="Italique"/>
                <asp:Button ID="ButtonSouligne" runat="server" Text="Souligné"/>
                <asp:Button ID="ButtonLien" runat="server" Text="Lien"/>
    		    <br /><br />
                <asp:ImageButton ID="ImageButtonHeureux"  ImageUrl="~/Img/Forum/smileys/heureux.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonLol" ImageUrl="~/Img/Forum/smileys/lol.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonTriste" ImageUrl="~/Img/Forum/smileys/triste.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonCool" ImageUrl="~/Img/Forum/smileys/cool.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonRire" ImageUrl="~/Img/Forum/smileys/rire.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonConfus" ImageUrl="~/Img/Forum/smileys/confus.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonChoc" ImageUrl="~/Img/Forum/smileys/choc.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonQuestion" ImageUrl="~/Img/Forum/smileys/question.gif" runat="server" CssClass="smileys"/>
                <asp:ImageButton ID="ImageButtonExclamation" ImageUrl="~/Img/Forum/smileys/exclamation.gif" runat="server" CssClass="smileys"/>
     
                <br />
     
                <fieldset>
                    <legend>Message</legend>
                    <asp:TextBox ID="message" runat="server" Columns="45" Height="300px" TextMode="MultiLine"></asp:TextBox>
                </fieldset>
     
     
    		</fieldset>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    J'ai finalement contourné le problème en passant le code javascript dans la page .aspx.

    Le problème est résolu !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/09/2008, 16h00
  2. Appellé une fonction javascript en code behind
    Par 0xYg3n3 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/10/2007, 15h02
  3. [tout bête] JavaScript en code behind
    Par dahu17 dans le forum C#
    Réponses: 1
    Dernier message: 06/09/2007, 15h28
  4. Google Map API --> Javascript et code behind C#
    Par bridel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/01/2007, 21h07
  5. [VB.NET]Javascript et code behind
    Par Dadou74 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/11/2006, 16h30

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