Foros del Web » Programando para Internet » Javascript »

Agregar Texto A Un Textarea

Estas en el tema de Agregar Texto A Un Textarea en el foro de Javascript en Foros del Web. Hola... Miren Tengo El Siguiente Codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script >   function actualizar ( textarea ) {     ...
  #1 (permalink)  
Antiguo 05/11/2010, 10:07
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 7 meses
Puntos: 24
Agregar Texto A Un Textarea

Hola...
Miren Tengo El Siguiente Codigo:
Código Javascript:
Ver original
  1. <script>
  2.  function actualizar(textarea)
  3. {                
  4.  
  5. textarea = document.getElementById(textarea);
  6. var text= document.createElement('textarea');
  7. text.style.width = textarea.offsetWidth+'px';
  8. text.style.height = textarea.offsetHeight+'px';                  
  9. textarea.parentNode.replaceChild(text,textarea);
  10. }
  11. </script>
Este lo que hace es que toma un textarea existente y lo reemplaza por otro.
Lo que yo necesito es saber de que manera le puedo asignar texto al nuevo textarea....

Última edición por LordJhony; 05/11/2010 a las 10:23
  #2 (permalink)  
Antiguo 05/11/2010, 10:38
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Agregar Texto A Un Textarea

Con value.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 05/11/2010, 13:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar Texto A Un Textarea

aunque es verdad que usando al atributo value parece que funciona, no es así, mas si ese nuevo valor lo vas a enviar. en un textarea el atributo value es solo de lectura. usa innerText (ie) y textContent(ff)
  #4 (permalink)  
Antiguo 05/11/2010, 14:28
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 7 meses
Puntos: 9
Respuesta: Agregar Texto A Un Textarea

SI no entendi mal la pregunta, value si funciona ...


<html>
<head>
<script>

function actualizar(textarea){
textarea = document.getElementById(textarea);
var text= document.createElement('textarea');
text.id = "ta02";
text.style.width = textarea.offsetWidth+'px';
text.style.height = textarea.offsetHeight+'px';
textarea.parentNode.replaceChild(text,textarea);

text.value = "que tal ?";
document.getElementById("ta02").value = text.value + "\n muy bien !";
}

</script>
</head>
<body>
<textarea id="ta01" cols="20" rows="15">hola</textarea>
<br />
<button value="" onclick="actualizar('ta01')">click para reemplazar textarea</button>
</body>
</html>
  #5 (permalink)  
Antiguo 05/11/2010, 15:25
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Agregar Texto A Un Textarea

Cita:
Iniciado por IsaBelM Ver Mensaje
aunque es verdad que usando al atributo value parece que funciona, no es así, mas si ese nuevo valor lo vas a enviar. en un textarea el atributo value es solo de lectura. usa innerText (ie) y textContent(ff)
Que yo sepa sí funciona, siempre lo he usado así. Los textarea no tienen el atributo HTML value, pero sí la propiedad JS value, por tanto sí se puede modificar el value de un textarea con JS.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 05/11/2010, 15:47
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar Texto A Un Textarea

como decía, parece que funciona, pero si vas a la consola de errores firebug, a la etiqueta html y te fijas como ha cambiado, verás a lo que me refiero. piensa que los textareas no tienen value
  #7 (permalink)  
Antiguo 05/11/2010, 16:20
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Agregar Texto A Un Textarea

¿En qué cambia? Yo tengo esto:
Código HTML:
Ver original
  1. <textarea id='abc' cols="10" rows="3">hola</textarea>
  2. <button onclick="ID('abc').value='que tal?\nbien!';">cambia</button>
Y no he visto que cambie nada en el HTML...
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 06/11/2010, 05:18
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Agregar Texto A Un Textarea

Gracias...
  #9 (permalink)  
Antiguo 06/11/2010, 06:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar Texto A Un Textarea

primero y mas importante, él está usando dom, cosa que en tu ejemplo has obviado. segundo punto, si ejecutas tu ejemplo y abres la consola de errores de firefox verás que el contenido del textarea no ha cambiado. prueba esto, revisando la firebug
Cita:
<html>
<head>
<script type="text/javascript">
function actualizar(textarea)
{
textarea = document.getElementById(textarea);
var text= document.createElement('textarea');
text.style.width = textarea.offsetWidth+'px';
text.style.height = textarea.offsetHeight+'px';    
//text.value = 'el texto ha cambiado' // falso, produce esto <textarea style="width: 105px; height: 71px;"></textarea>
text.textContent = 'el texto ha cambiado' // verdad, produce esto otro <textarea style="width: 105px; height: 71px;">el texto ha cambiado</textarea>      
textarea.parentNode.replaceChild(text,textarea);

}
</script>

</head>
<body>
<textarea id='abc' cols="10" rows="3">hola</textarea>
<button onclick="actualizar('abc')">cambia</button>
</body>
</html>
  #10 (permalink)  
Antiguo 06/11/2010, 07:50
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Agregar Texto A Un Textarea

Con value no veo ningún problema. Firebug es una buena herramienta pero no exenta de errores.
  #11 (permalink)  
Antiguo 06/11/2010, 09:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Agregar Texto A Un Textarea

Hola:

Justamente iba a contestar algo similar a lo que puso Panino5001, pero tenía la mesa puesta y había que comer...

Cita:
Iniciado por Panino5001 Ver Mensaje
Con value no veo ningún problema. Firebug es una buena herramienta pero no exenta de errores.
Ayer también participé en un tema donde "las mentes pensantes" decidieron cosas que al menos yo no estoy de acuerdo... (no pasar una validación de accesibilidad usando el evento click en enlaces, pero pasar la validación html usar el atributo rel sin la sintaxis correcta )... el tema sigue caliente y puede consultarse...

El atributo value es el que valida los controles "no booleanos" o de texto (los que no se validan como checked), así que es normal hacer comparaciones y asignaciones para ese tipo de controles con ese atributo.

Otro caso similar son los select... el tag select no tiene un atributo value, pero si quieres activar un option, o lo haces con "elSelect.value = 'el value de un option'", o poner una burrada (lo dejo como tarea...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 06/11/2010, 16:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar Texto A Un Textarea

Cita:
Iniciado por IsaBelM Ver Mensaje
en un textarea el atributo value es solo de lectura.
sin animo de ofensa, te hace falta profundizar mas en HTML DOM. en ninguna documentacion he leido que value sea una propiedad de solo lectura. fijate la documentacion oficial, en la descripcion de la interfaz HTMLTextareaElement la propiedad value no dice readonly.

yo tampoco veo mal utilizar value para asignar un nuevo texto. es cierto que al revisar el DOM del documento, no se refleja el cambio en la estructura en si. fijate que de la misma forma tampoco se produce cambio cuando el usuario escribe sobre el campo. pero eso tiene una razon de ser, especificamente en los campos textarea e input text. por decirlo de una forma, la propiedad value refleja el estado actual de dicho campo. ahora bien, -en caso de estar dentro de un formulario- ¿que sucede si el usuario reinicia el formulario? los campos vuelven al valor inicial. el valor inicial depende de lo que hay en el DOM de ese documento.

¿que quiere decir esto? la propiedad adecuada depende de la intencion del autor. si el texto agregado al campo es uno por defecto, entonces deberia agregarse por setAttribute -para input text- o mediante un nodo texto -para textarea. si no es el caso, la propiedad value seria la mas adecuada.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 07/11/2010, 13:08
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar Texto A Un Textarea

Cita:
Iniciado por Panino5001 Ver Mensaje
Con value no veo ningún problema. Firebug es una buena herramienta pero no exenta de errores.
Cita:
Iniciado por caricatos Ver Mensaje
El atributo value es el que valida los controles "no booleanos" o de texto (los que no se validan como checked), así que es normal hacer comparaciones y asignaciones para ese tipo de controles con ese atributo.
Cita:
Iniciado por zerokilled Ver Mensaje
sin animo de ofensa, te hace falta profundizar mas en HTML DOM. en ninguna documentacion he leido que value sea una propiedad de solo lectura. fijate la documentacion oficial, en la descripcion de la interfaz HTMLTextareaElement la propiedad value no dice readonly.
parece que me hace falta darle un buen repaso.
mi lógica, errónea, parte del hecho de que al no tener el atributo value, pensé que value era solo de lectura y por lo tanto con el no se podía asignar valor a un textarea. es decir, si hacemos esto <textarea id='abc' cols="10" rows="3" value="hola"></textarea> no se mostrará nada

gracias a los tres por esos comentarios y sacarme de mi error. gracias también a _cronos2 por tener paciencia y no .........
  #14 (permalink)  
Antiguo 07/11/2010, 13:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Agregar Texto A Un Textarea

Cita:
Iniciado por IsaBelM Ver Mensaje
...gracias a los tres por esos comentarios y sacarme de mi error. gracias también a _cronos2 por tener paciencia y no .........
Una de las grandes virtudes de estos foro es que lo hacemos gente que también podemos equivocarnos... ya nos corregirás o nos habrás abrir los ojos en otros temas, estoy seguro de ello.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: textarea
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:40.