2009-10-14 27 views
7

Estoy tratando de hacer que un contenido de texto de texto sea editable y estoy fallando. Estoy utilizando este código:Textarea contenteditable

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

Estoy esperando un resultado como http://html5demos.com/contenteditable

¿Alguien tiene una idea de por qué no está funcionando?

Editar:

que estoy haciendo esto porque yo estoy tratando de hacer un oneliner para agregar un control a un formulario en el que (HTML) contenido formateado se puede pegar y retener su formato. Estoy tratando de hacer esto sin problemas y sin el código javascript. Parece que esto no es posible. Cerraré esta pregunta en un día si no se agregan más comentarios en sentido contrario.

Respuesta

1

No están utilizando un área de texto, las áreas de texto ya son editables. Esto es lo que están 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

Tenía la esperanza de un WYSIWYG donde se puede pegar texto en negrita, etc. La razón de esto es que tengo que publicar esto en un formulario de envío después de haber sido editado. –

+0

Necesito algo como esto también. He visto a algunas personas escribir sus contenidos en un campo oculto, pero tendrías que hacer esta actualización cada vez que hagas un cambio o ejecutar execCommand –

+0

Pero la sección u otro objeto similar no admite funciones nativas como marcador de posición, requerido, etc. El textarea no admite contenido editable como formato html. –

3

¿Ha configurado el tipo de documento correcto en la parte superior de la página? Para HTML5 necesita el siguiente doctype:

<!DOCTYPE html> 

Además, ¿por qué un área de texto? textareas ya son editables.

+0

Como en la publicación de Ben, \t Tenía la esperanza de un WYSIWYG donde se puede pegar texto en negrita, etc. y conservar el formato. La razón para esto es que necesito publicar esto en un formulario de envío después de que haya sido editado. –

+2

El formulario no enviará el formato. En vez de ponerlo en un div y usar onSumbit para leer el innerHTML del div. – Marius

+0

Gracias Marius. Tenía la esperanza de besar, pero ahí vamos. –

0

Dadas las respuestas de sus comentarios, recomendaría cualquiera de los excelentes editores WYSIWYG que existen. No es necesario reinventar la rueda, y no creo que contenteditable no haya satisfecho sus necesidades de todos modos.

Mi favorito personal es CKEditor, pero hay muchos, muchos otros. TinyMCE también es muy popular.

+3

Esperaba un oneliner para resolver mis problemas (solo necesitaba un área de texto simple que pudiera contener texto formateado) pero aparentemente no está en las cartas.Gracias por la sugerencia, sin embargo. –

1

No me refiero a repetir nada, pero he preparado una demostración que muestra lo que está sucediendo.

http://gist.github.com/210327

que acaba de ejecutar, editar lo que desea y haga clic en la 'salida con formato de contenido' declaración para recibir un mensaje de alerta con una salida del contenido real con formato HTML en el elemento contenteditable. En cuanto a agregar formato, etc., necesitará hacer botones que llamen a una función de modificación de texto en lo que esté resaltado. Sí, esa parte será divertida.

No obstante, espero que esto ayude.

+3

+1 por esfuerzo, pero no es exactamente lo que necesitaba ... porque creo que lo que necesitaba no es posible. –