2009-10-14 23 views
7

Sto cercando di rendere modificabile un contenuto textarea e sto fallendo. Sto usando questo codice:Area di testo contenteditable

<textarea id='' class='' name='notes' rows='12' cols='67' contenteditable='true' ></textarea> 

mi aspetto un risultato come http://html5demos.com/contenteditable

Qualcuno ha un idea del perché non funziona?

Edit:

sto facendo questo perché io sto cercando di fare un oneliner per aggiungere un controllo a un form in cui (HTML) contenuto formattato può essere incollato e mantenere la formattazione. Sto cercando di farlo senza problemi e senza codice javascript. Sembra che questo non sia possibile. Chiuderò questa domanda in un giorno se non aggiungo altro input al contrario.

risposta

1

Non stanno utilizzando una textarea, le aree di testo sono già modificabili. Questo è quello che stanno usando

<section contenteditable="true" id="editable"> 
    <h2>Go ahead, edit away!</h2> 
    <p>Here's a typical paragraph element</p> 
    <ol> 
     <li>and now a list</li> 
     <li>with only</li> 
     <li>three items</li> 
    </ol> 
    </section> 
+1

Speravo in un WYSIWYG in cui è possibile incollare il testo in grassetto ecc. Il motivo è che ho bisogno di postarlo in un modulo di invio dopo che è stato modificato. –

+0

Ho bisogno anche di qualcosa del genere. Ho visto alcune persone scrivere il suo contenuto in un campo nascosto, ma dovresti fare questo aggiornamento ogni volta che apporti una modifica o esegui execCommand –

+0

Ma la sezione o altri oggetti simili non supportano funzioni native come segnaposto, richieste, ecc. Il supporto di textarea per il contenuto modificabile come formato html. –

3

Avete impostato il doctype giusto nella parte superiore della pagina? Per HTML5 è necessario il seguente doctype:

<!DOCTYPE html> 

Inoltre, perché una textarea? le aree di testo sono già modificabili.

+0

Come per il post di Ben, \t speravo in un WYSIWYG in cui si potesse incollare il testo in grassetto ecc. E mantenere la formattazione. La ragione di questo è che ho bisogno di postare questo in un modulo di invio dopo che è stato modificato. –

+2

Il modulo non invia la formattazione. Invece mettilo in un div e usa onSumbit per leggere l'innerHTML del div. – Marius

+0

Grazie Marius. Speravo di KISS, ma ci siamo. –

0

Considerate le vostre risposte ai commenti, consiglierei uno degli eccellenti editor WYSIWYG disponibili. Non c'è bisogno di reinventare la ruota, e non penso che lo contenteditable non avrebbe comunque soddisfatto le tue esigenze.

Il mio preferito è CKEditor, ma ce ne sono molti, molti altri. TinyMCE è anche molto popolare.

+3

Speravo in un oneliner per risolvere i miei problemi (avevo solo bisogno di una semplice area di testo che potesse contenere testo formattato), ma questo non è apparentemente sulle carte.Grazie per il suggerimento però. –

1

Non intendo ripetere nulla, ma ho messo insieme una demo che mostra cosa sta succedendo.

http://gist.github.com/210327

solo correre che, di modificare ciò che si desidera e fare clic sul 'Contenuto output formattato' dichiarazione di ricevere un messaggio di avviso con una produzione del contenuto effettivo in formato HTML nell'elemento contenteditable. Per quanto riguarda l'aggiunta di formattazione, ecc, è necessario creare pulsanti che chiamino una funzione di modifica del testo su tutto ciò che è evidenziato. Sì, quella parte sarà divertente.

Tuttavia, spero che questo aiuti.

+3

+1 per lo sforzo, ma non è proprio quello di cui avevo bisogno ... perché penso che ciò di cui avevo bisogno non è possibile. –

Problemi correlati