Foros del Web » Programando para Internet » Javascript »

Modificación de textarea no conlleva modificación de innerHTML de textarea

Estas en el tema de Modificación de textarea no conlleva modificación de innerHTML de textarea en el foro de Javascript en Foros del Web. Buenas, voy de mal en peor. La situación es que, trabajando en un proyecto en el cual tengo que actualizar registros de la base de ...
  #1 (permalink)  
Antiguo 01/07/2014, 05:53
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 5 meses
Puntos: 32
Modificación de textarea no conlleva modificación de innerHTML de textarea

Buenas, voy de mal en peor.

La situación es que, trabajando en un proyecto en el cual tengo que actualizar registros de la base de datos mediante las funciones ajax de JQuery, me he encontrado que la modificación no se realizaba.

La sorpresa mayor ha sido cuando he visto que no se modificaba porque el propio input no reaccionaba al cambio que yo le daba. He reducido el problema a 10 lineas de código donde se dispara una función ante un evento change en textarea y muestra el texto que tiene en su interior. Sin embargo, nunca me muestra el texto que tiene en su interior sino, el texto inicial que contenía el elemento textarea.

http://jsfiddle.net/xp3d5/1/

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #2 (permalink)  
Antiguo 01/07/2014, 08:30
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Modificación de textarea no conlleva modificación de innerHTML de textarea

Un TEXTAREA no tiene tags dentro....... es algo conceptual ... es semantico, asi si funciona:

Código Javascript:
Ver original
  1. <body>
  2.     <textarea id="raro" name="abracadabra">tyg</textarea>
  3.     <div id="output"></div>
  4. </body>
  5.  
  6.  
  7. <script>
  8. window.onload = function()
  9. {
  10.     var textarea = document.getElementById("raro");
  11.    
  12.     textarea.onchange = function(){
  13.        
  14.         var output = document.getElementById("output");
  15.    
  16.         console.log(textarea.value);
  17.         output.innerHTML = textarea.value;
  18.     }
  19.    
  20. }
  21. </script>

Nota he cambiado textarea.innerHtml por textarea.value
__________________
Salu2!
  #3 (permalink)  
Antiguo 01/07/2014, 12:11
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Modificación de textarea no conlleva modificación de innerHTML de textarea

Creo que el evento más adecuado para detectar un cambio en el contenido del <textarea> es el evento keyup. Y como bien te dice Italico76, el contenido del mismo lo obtienes mediante la propiedad value,

Código Javascript:
Ver original
  1. window.onload = function(){
  2.     document.getElementById("raro").onkeyup = function(){
  3.         document.getElementById("output").innerHTML = this.value;
  4.     };
  5. };

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 03/07/2014, 10:57
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 5 meses
Puntos: 32
Respuesta: Modificación de textarea no conlleva modificación de innerHTML de textarea

Gracias.

Había inducido una regla errónea pensando que los elementos html del estilo <X></X> se sacaba el valor a través de textContent/innerHTML mientrar que algunos elementos del estilo <Y/> se les añadía mediante el atributo value.

Como curiosidad. Aunque no tiene mucho que ver con el tema inicial. ¿Por qué el elemento output se dice que no tiene atributo value pero en cambio se usa dicho atributo para el ejemplo de uso que ponen en Javascript?
http://www.w3schools.com/tags/tag_output.asp
https://developer.mozilla.org/es/doc...Element/output

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #5 (permalink)  
Antiguo 03/07/2014, 16:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Modificación de textarea no conlleva modificación de innerHTML de textarea

Según esto, sí puede tener ese atributo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, funcion, innerhtml, input, js, 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 11:06.