• User Attivo

    Rich Text Editor

    Buongiorno, sto cercando uno script che mi permetta di formattare il testo in una textarea simile a quello in cui si scrivono i messaggi nel presente forum.

    Dovrebbe essere semplice, ovvero permettere la formattazione in termini di:

    • colore testo
    • grassetto e corsivo
    • collegamento ipertestuale
    • allineamento (sx, dx, centrato, giustificato)
    • lista ordinata e non

    Il testo formattato dovrebbe essere poi salvato in un campo di tabella su db access e poi richiamato con asp su pagina di un sito.

    Ringrazio per l'attenzione.


  • Super User

    fckeditor? Troppo complicato?


  • User Attivo

    ciao, ti ringrazio per il consiglio.Ho trovato uno script più semplice che fa al caso mio: html Area.Non so se lo conosci....La mia domanda ora, a prescindere dallo script utilizzato, è come far passare i dati dalla textarea formattata ad un campo di tabella su db access.Credo che passandolo così com'è mi salvi anche i tag html che si vedrebbero poi sulla pagina del sito che richiama quel campo.


  • Super User

    Scusami, ma se ti serve il rich text editor, i tag html ce li devi avere per forza! Senò sarebbe testo normale!


  • User Attivo

    certo, ma se ad esempio salvo su campo db ciao quando richiamo questo campo sulla pagina del sito visualizzo ciao e non ciao in bold.a meno che debba usare su db un tipo di campo particolare...???


  • Super User

    no nel db usi un campo testo, e ci salvi <b>ciao</b>


  • User Attivo

    ciao Cali, ala fine, dopo vari tentativi di configurazione di htmlArea, mi sono accorto che praticamente funziona solo, e male, su IE.

    Mi sono lanciato sull'fck da te consigliato e, devo dire, che a prima vista sembra abbastanza complesso da gestire, soprattutto per un neofita come il sottoscritto.

    L'unica cosa di cui mi sono reso conto controllando i file di esempio in asp è che non viene utilizzato alcun db per salvare i dati ma vengono direttamente visualizzati su una pagina.

    esiste qualche guida che spieghi invece come integrare l'fck con db access?

    ho notato inoltre che crea dinamicamente la textarea tra i tag <form> e quindi non riesco a ricavare il nome della textarea per salvarne i dati su db.

    grazie


  • Super User

    Allora, per il nome della textarea, c'è il modo di saperlo, ad esempio usando i sample che ci sono dentro, comunque è qualcosa di default tipo fckeditor o roba del genere. Poi le impostazioni che ti servono sono veramente poche. Per l'inserimento nel db, tratti la stringa come una normale stringa, se sai fare l'inserimento non cambia niente, basta che inserisci nel db la variabile che viene postata dal form.


  • User Attivo

    ciao cali, ok, ho sistemato il tutto nel senso che ho trovato il nome della textarea e riesco a passare i dati al campo del database.

    Ora però ho un problema proprio con i dati che devo passare --> se sono più di 255 caratteri (il campo del db è memo) mi da il seguente errore:

     
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression
    
    

    Il codice che mi da errore è il seguente:

     
    <%
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/db.mdb")
    sql = "INSERT INTO home (descrizione) VALUES ('"&request.Form("FCKeditor1")&"')"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    Conn.Close 
    %> 
    
    

    Sapresti indicarmi dove sta l'errore?
    Grazie ancora.


  • Super User

    Potresti visualizzzare la query che da errore? Cioè con il valore del campo request.Form("FCKeditor1")?


  • User Attivo

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''A 2000 mt. di altitudine, superata la stretta gola dominata dalle Torri di Fraele, edificate nel 1431, all'imbocco di una delle Valli più spettacolari ed impressionati dell'Alta Valtellina, è situato il Lago delle Scale, circolo di pesca priva'.
    /invia.asp, line 10


  • Super User

    sql = "INSERT INTO home (descrizione) VALUES ('"&replace((request.Form("FCKeditor1"), "'", "''")&"')"


  • User Attivo

    perfetto, grazie 1000 cali, molto gentile ma, dov'era l'errore?

    un'ultima cosa...
    nella pagina in cui utilizzo la textarea di fck nel campo posso far visualizzare già del testo attraverso questo script:

     
    <%
    Dim oFCKeditor
    Set oFCKeditor = New FCKeditor
    oFCKeditor.BasePath = "/fckeditor/"
    oFCKeditor.Value = "Scrivi qui il testo che vuoi inserire"
    oFCKeditor.Create "FCKeditor1"
    %>
    
    

    se io invece volessi far comparire il contenuto del campo da db come dovrei inserire in oFCKeditor.Value il codice <%=RS(descrizione)%>?


  • Super User

    Di niente, l'errore è che se nel testo c'è l'apice (') lo vede come fine stringa e va in errore, quindi quel codice lo raddoppia, che sta a indicare la sequenza di escape dell'apice in asp. Per inserire il vaolre, devi fare:

     
    <%
    .... crei l'rs e fai la query nel db...
    Dim oFCKeditor
    Set oFCKeditor = New FCKeditor
    oFCKeditor.BasePath = "/fckeditor/"
    oFCKeditor.Value = RS(descrizione)
    oFCKeditor.Create "FCKeditor1"
    %>
    

  • User Attivo

    ho fatto in questo modo:

     
    <%
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/db.mdb")
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open "select * from home", conn 
     
    Dim oFCKeditor
    Set oFCKeditor = New FCKeditor
    oFCKeditor.BasePath = "/fckeditor/"
    oFCKeditor.Value = rs(descrizione)
    oFCKeditor.Create "FCKeditor1"
    %>
    
    

    ma mi da il seguente errore:

     
    ADODB.Recordset error '800a0cc1' 
    Item cannot be found in the collection corresponding to the requested name or ordinal. 
    /due1.asp, line 108 
    
    

  • Super User

    Sicuro che la query restituisca dei dai? E che li siano valorizzati? E che ci sia descrizione? Porva a visualizzare cosa c'è dentro rs...


  • User Attivo

    ho controllato sia sul db che nella pagina in cui viene visualizzato rs(descrizione) ed è tutto corretto inclusa la formattazione.

    quindi non capisco il problema, come mai mi da quell'errore se voglio inserire nella textarea il rs per fare n modo di poterne modificare il contenuto.


  • User Attivo

    ho risolto in questo modo (giusto per essere magari d'aiuto a chi avesse riscontrato il mio stesso problema):

     
    Dim oFCKeditor
    Set oFCKeditor = New FCKeditor
    oFCKeditor.BasePath = "../fckeditor/"
    oFCKeditor.Width = "550"
    content = rs("descrizione")
    oFCKeditor.Value = content
    oFCKeditor.Create "FCKeditor1"
    
    

    grazie ancora cali e arriverci a tutti al prossimo problema :arrabbiato:


  • Super User

    E così funziona?? Strano. Comunque grazie per la dritta! Alla prossima!