HTML: come mantenere la formattazione in textarea?

  • Sto usando HTML textarea per l’utente per inserire alcuni dati e salvarli nel modello di App Engine
  • Il problema è che quando recupero il contenuto è solo testo e tutta la formattazione è sparita
  • Il motivo è perché in textarea non c’è alcuna formattazione che possiamo fare

Domanda:

  • c’è un modo per mantenere il formato che l’utente fornisce?
  • c’è qualche altro elemento (diverso da textarea), che dovrò usare? (quale?)

PS Sono molto nuovo nell’area di sviluppo web e lavoro sul mio primo progetto

Grazie

Quello che vuoi è un editor Rich Text . Il HTML standard accetta solo testo normale (anche se il testo è o include markup HTML). Ci sono molti esempi là fuori (compresi alcuni elencati nella pagina collegata) ma raccomando vivamente di usare uno preimpostato per questo. Codificare il proprio è abbastanza complicato per le persone che sono nuove e anche per molti che hanno una certa esperienza. Sia TinyMCE che CKEditor sono molto comuni, ma ce ne sono molti altri.

Una casella di testo è come il wordpad, non puoi formattarlo, se si incolla da una parola o da un altro testo formattato si cancellerà tutta la formattazione e rimarrà solo il testo.

È necessario aggiungere un editor alle aree di testo, io uso TinyMCE , ma ce ne sono molti altri là fuori.

Per implementare devi avere tutta la fonte (che puoi ottenere da TinyMCE ) nella tua directory web.

Ecco un esempio che puoi provare:

Aggiungi questa la sezione di testa della tua pagina:

    

Quindi per chiamare la textarea:

  

NB: Devi scaricare e avere nella tua directory i file js per

Spero che questo ti aiuti!

Questo non risolverà il caso quando vuoi che qualcuno sia in grado di formattare il testo (ad es. Con pulsanti in grassetto WYSIWYG, ecc.), Ma se vuoi essere in grado di accettare HTML pre-formattato (ad esempio, copia e incolla da un’altra sorgente HTML come una pagina Web), quindi puoi farlo:

 

Questo utilizza un elemento div contenteditable che è ansible formattare in modo che assomigli ad una casella di input e accetti HTML incollato e una textarea#foo nascosta textarea#foo che verrà popolata con l’HTML incollato appena prima che il modulo venga inviato.

Si noti che questa non è una soluzione accessibile così com’è.