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

ASP.NET Discussion :

Insertion texte dans textarea modifiée !


Sujet :

ASP.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Insertion texte dans textarea modifiée !
    Alors, voila quelques jours que je galère sur ce problème et je viens prendre quelque informations du côté du du forum des développeurs.

    Voila mon petit souci, j'ai une textarea (jusque la pas de problème), sur laquelle j'ai rajouter un éditeur wysiwyg en Java script (openwebware.com et pas de problèmes la non plus). Seulement , cette textarea doit servir a la création d'un panel d'administration et donc a modifier des news existantes. Mais depuis que j'ai inclue cet editeur, je n'arrive plus a insérer de texte dans ma textarea (le traditionnel idtextarea.value ne marchant plus !


    Si quelqu'un a la solution

    Merci d'avance ...

  2. #2
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Commence par poster ton code, on verrra ensuite.

    Pour ton premier message, pas de chance, tu aurais du lire un peu plus assiduement les règles de conduite.

    Et aussi, t'es sûr que ça concerne bien le ASP.NET option VB ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Sa c'est dans ma premiere pages, lorsque l'on clique sur le bouton modifier, on récupère le texte concerné, et on l'envoi vers la page admin (ou se trouve la textarea modifiée)


    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
     Protected Sub modif1_command(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
            Dim lire As New Lire.DB
            Dim ecrire As New Ecrire.db
            Dim x As Integer
            Dim y As String
            Dim z As String
            Dim noligne As String
            Dim bdd As New ListBox
            Dim woot As String
     
            num.Value = e.CommandName
     
            noligne = Right(num.Value, 2)
     
            x = CInt(noligne)
            bdd = lire.Liremodifcle(x)
            z = bdd.SelectedValue
     
            Response.Redirect("admin.aspx?woot=" & z)
     
     
        End Sub
     
    PAGE ADMIN.ASPX.VB
     
       Protected Sub Page_Load(ByVal sender As Object, ByVal e As   System.EventArgs) Handles Me.Load
     
            Dim temp As String
     
            temp = Request.QueryString("woot")
     
            tarea("textarea1")
     
            Request.Form("textarea1") = temp
            textarea1.value  = temp
    // C'est ici que sa coince, les deux solution ne marchent pas, jarrive bien a amener le texte que je veux jusqu'ici, mais je n'arrive pas a l'inserer dans ma textarea (a cause de l'editeur wysiwig que j'ai rajouter)

    End Sub

    Voila pour le purement VB, il y'a aussi du JS, mais qui ne sert que pour l'éditeur wysiwyg ... Si vous avez besoin de plus d'info dites moi (dsl pour le premier post)

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Bon, évacuons les problème de forme vite fait :
    - pense à utiliser le bouton "code" pour insérer le code, c'est plus joli et facile à lire.
    - "sa" est un pronom possession au féminin et pas un adverbe démonstratif, en fait il faut écrire "ça", le langage SMS, MNS et autre chat (tout pourri) finira par démolir toute la langue française, mais je ferais de la résistance jusqu'au bout.
    - t'inquiète pour ton premier et deuxième psot, c'est en forgeant qu'on devient forgeron.

    Revenons sur le problème : je ne comprends pas le fonctionnement de ta page. Ton éditeur Wysiwyg est sur quelle page ?
    La ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tarea("textarea1")
    Elle correspond à quoi ?

    Donc, si je comprend ton code tu capte la valeur de ta LsitBox, tu la apsse dans la QueryString et tu affiche cette chaine dans l'éditeur sur la deuxième page, c'est bien ça ?

    Est ce que tu retrouve la valeur choisie dans ta barre d'adresse de ton navigateur ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Alors, plusieurs chose, pour le code je me suis en effet demandé si il n'y avait pas un moyen de le faire apparaitre d'une autre manière (My Bad!) ! Au moins je saurais maintenant ...

    Pour se qui est du sa et ça, j'ai pas franchement l'impression d'écrire en langage sms , il ne me semble pas que les fautes d'orthographes de grammaire ou de syntaxe soient apparu avec internet...(bien qu'il ai grandement participé à leurs multiplication)

    Enfin, et pour revenir au sujet, l'éditeur se compose en fait de plusieurs fichier JS qu'il faut simplement ajouter au code... Pour les relier il suffit de créer une textarea dans l'aspx (logique), et d'ouvrir un script JS qui ressemble a sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      <script language="JavaScript" type="text/javascript" src="scripts/wysiwyg.js"></script>
        <script language="JavaScript" type="text/javascript" src="scripts/wysiwyg-settings.js"></script>
     
        <script language="javascript1.2">
       // attach the editor to all textareas of your page.
     
     
       WYSIWYG.attach('TextArea1');
     
        </script>
    Ensuite il n'y a plus qu'a rajouter ceci dans la textarea (à partir du onfocus):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <textarea name="textarea1" id="TextArea1" rows="2" cols="20" runat="server" onfocus=" if (this.value== 'Ecrivez votre message ici') this.value=''"><%=tarea0(Request.Form("textarea1")) %></textarea>
    Pour ce qui est de tarea("textarea1") c'est simplement l'appelle d'un fonction qui normalement me permet de prendre "contact" avec le contenu de la textarea
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Function tarea0(ByVal text)
            tarea0 = text
        End Function
     
        Function tarea(ByVal text)
            tarea = tarea0(text)
        End Function
    Voila j'imagine que je vais avoir du mal a avoir des info étant donné la probable rareté de mon problème, mais bon , l'espoir fait vivre et je te remercie déjà beaucoup de t'être interressé a mon cas ...

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    J'ai toujours un peu de mal à suivre, mais c'est certainement parce que je n'ai pas tout le code avec moi.

    Mais je crois qu'il y a un truc à l'envers :
    tu as une ligne qui fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Request.Form("textarea1") = temp
    dans ta page Admin, qui la page qui arrive en deuxième. Sauf que c'est pas possible.

    Si tu fais un Request.Form, c'est que tu appelle le contenu du controle de la page d'avant, donc tu ne peux pas lui cahrger une donnée, amis la récupérer seulement. Donc il faut écrire la même ligne mais en inversant les membres.
    C'est ta variable temp qui prend la valeur du Request.

    Qu'est ce t'en pense ?

    Quant à l'intéret de ton cas, ben mon truc à moi c'est l'entraide. Quand je suis en carafe, j'aime bien recevoir de l'aide, alors à mon tour j'aide les autres, quand mes compétences m'en donne la possibilité.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Alors en effet le request.form ne peut pas se voir affecter une valeur. Seulement , si on inverse les cas, je n'ai aucun intérêt a se que ma variable temp prenne la valeur de la textarea car c'est l'inverse que je veux faire... Je veux affecter la valeur de la variable temp (qui est une string) a ma textarea...

    Je suis désolé j'imagine que ce n'est pas super facile de tenter d'analyser un problème sans avoir tout le code a disposition, mais il me faudrait plus de 10 pages pour que tu ai la totalité...

    Que rajouter d'autre, en fait je pense qu'il faudrait que j'ai la chance de tomber sur quelqu'un qui a eu le même problème que moi avec le même éditeur wysiwyg, parce que je vois mal comment quelqu'un d'extérieur pourra facilement m'aider...

    Tu me dira , la solution pourrait être d'abandonner cet éditeur, mais je suis en stage, et je doit justement trouver une solution pour l'adapter à une interface d'administration...

  8. #8
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Tu voudrais pas essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    'ligne à virer
    Request.Form("textarea1") = temp
    textarea1.value  = temp
     
    'ligne à insérer à la palce
    textarea1.value  = Request.Form("textarea1")
    Je crois que ton souci vient de là, mais je suis pas sur

    Sinon pour le code, aps besoins de 10 apge. Post la page de départ, sans les scipt de l'éditeur et la page admin. Les deux en complet, avec le CodeBehind.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Comme je te l'ai dit plus haut, le textarea1.value ne peu plus être utiliser a partir du moment ou j'ai mis en place l'éditeur wysiwyg... Très bizarre d'ailleurs, mais je doit donc trouver une autre solution pour inserer du texte dans ma textarea....


    Voila l'aspx de la page admin :

    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
    <%@ Page Language="VB" AutoEventWireup="false"  CodeFile="admin.aspx.vb" Inherits="_Default" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Page sans titre</title>
    </head>
    <body> 
        <form id="form1" runat="server">
        <div>
          <script language="JavaScript" type="text/javascript" src="scripts/wysiwyg.js"></script>
        <script language="JavaScript" type="text/javascript" src="scripts/wysiwyg-settings.js"></script>
     
        <script language="javascript1.2">
       // attach the editor to all textareas of your page.
     
     
       WYSIWYG.attach('TextArea1');
     
        </script>
     
     
            <textarea id="TextArea2" cols="20" rows="2" runat="server"></textarea>
          <textarea name="textarea1" id="TextArea1" rows="2" cols="20" runat="server" onfocus=" if (this.value== 'Ecrivez votre message ici') this.value=''"><%=tarea0(Request.Form("textarea1")) %></textarea>
     
            <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem ></asp:ListItem>
            <asp:ListItem >Hello World</asp:ListItem>
            <asp:ListItem >Bonjour le monde</asp:ListItem>
            <asp:ListItem >Bonjour a tous</asp:ListItem>
            <asp:ListItem >Moi y'aime bien la techno parade</asp:ListItem>
            <asp:ListItem >PME WEB SERVICE c'est trop d'la balle</asp:ListItem>
            <asp:ListItem >J'adore le html, l'asp et le vb</asp:ListItem>
            <asp:ListItem >Lyon champion</asp:ListItem>
            <asp:ListItem >J'adooooooore li suchis!</asp:ListItem>
            </asp:DropDownList>      
          &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
          &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
          &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
          <asp:Button ID="Button_valid" runat="server" Text="Valider" /><br />
            <asp:Button ID="Button_ddl" runat="server" Text="Valider message pré-enregistré" />
     
     
        </div>
        </form>
    </body>
    </html>
    Voila le code de la page admin :

    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
    Partial Class _Default
        Inherits System.Web.UI.Page
        Dim _TestString As String
        Dim _EncodedString As String
        Dim temp As String
        Dim temp2 As String
     
     
        Function tarea0(ByVal text)
            tarea0 = text
        End Function
     
        Function tarea(ByVal text)
            tarea = tarea0(text)
        End Function
     
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim permaban As ListBox
            Dim temp As String
     
            temp = Request.QueryString("woot")
            'permaban.Items.Add(Request.QueryString("woot"))
     
            tarea("textarea1")
     
            'temp = tarea(Request.Form("textarea1"))
     
            Request.Form("textarea1") = temp
     
        End Sub
     
        Protected Sub Button_valid_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_valid.Click
            Dim bdd
            Dim tempo As String
            Dim Ecrire As New Ecrire.db
            Dim day As String
            Dim y As String
     
            day = Today
     
            temp = ""
            tarea("textarea1")
     
            temp = tarea(Request.Form("textarea1"))
     
            Session("info") = temp
     
            y = Ecrire.MenuPerso(day, temp, "")
     
            Response.Redirect("hello.aspx?cle=" & y)
     
     
     
     
     
     
     
     
     
        End Sub
     
     
     
     
        Protected Sub Button_ddl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_ddl.Click
            Session("info") = DropDownList1.SelectedItem.Text
            Response.Redirect("hello.aspx")
        End Sub
    End Class

  10. #10
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Je persiste à dire que tu ne peux pas mettre un truc dans le Request.Form. ça c'est empiriquement impossible, quelque soit le cas.

    Ensuite, je ne comprends pas les fonctions tarea, je n'ai jamais vu des constructions comme celles là.

    Ensuite, j'ai encore du mal à suivre le cheminement. Si tu clique sur ton bouton Button_valid, tu vas déclencher un PostBack, qui n'est pas tout à fait la même chose que de changer de page, donc le Request.form ne sert plus à rien.

    Enfin, essaye de changer ton textarea en <asp:textbox> en lui donnant les attribut de saisie multiligne, peut être que ton éditeur le prendra aussi et du coup tu auras un vrai contrôle server.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:TextBox ID="textarea1" runat="server" Rows="5" Columns="50" TextMode="MultiLine"></asp:TextBox>
    On verra ce que ça donne.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Okay alors je vais essayer sa et je te tiens au courant

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Malheureusement , mon editeur ne prend en charge que les textarea !!!!

    J'enrage mais bon, le plus frustrant est de ne pas savoir si il existe ne serait-ce qu'une solution...

    En tout les cas je te remercie beaucoup et je te tiendrai au courant si je trouve quelque chose...

  13. #13
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Justement, le <asp:TextBox> avec l'attribut TextMode="multiligne" génére un TextArea

    Ensuite tu lui assigne un ClienId à partir du CodeBehind, dans le PreInit de ta page et le tour est joué.

Discussions similaires

  1. Insertion texte dans Word au curseur
    Par fweds dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/10/2008, 21h37
  2. [CKEditor] problème insertion texte dans base de données
    Par exeee dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 22/10/2007, 11h12
  3. Insertion texte dans textarea avec IE
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/08/2007, 10h56
  4. insertion lien dans textarea
    Par licorne dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 22/12/2005, 17h09
  5. [TP]Insertion texte dans un autre programme
    Par FLB dans le forum Turbo Pascal
    Réponses: 53
    Dernier message: 14/06/2003, 20h11

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