Foros del Web » Programando para Internet » Javascript »

problema con getElementByClassName en javascript?

Estas en el tema de problema con getElementByClassName en javascript? en el foro de Javascript en Foros del Web. que tal foreros? verán estoy tratando de hacer algo tipo los emoticonos de aca del foro cuando uno les da click te inserta el valor ...
  #1 (permalink)  
Antiguo 04/02/2016, 22:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Pregunta problema con getElementByClassName en javascript?

que tal foreros? verán estoy tratando de hacer algo tipo los emoticonos de aca del foro cuando uno les da click te inserta el valor de la carita en el textarea del form...

el detalle es que yo lo estoy intentando hacer en formularios que se cargan dinamicamente, y no de forma estatica como en el caso de este foro... por ello, no uso el famoso getElementeById ya que al presionar la carita inserta su valor pero siempre en el mismo textarea (el primero). necesito hacer el llamado por clases para que inserte el valor independientemente del form donde la carita este siendo presionada... la obtencion y muestra en el textarea lo hago con la siguiente linea:

<img src="../imagenes/emoticonos/triste.png" onclick="document.getElementByClassName('mensaje-usuario').value+=':('" />

y el textarea donde se debe mostrar:

<textarea class="mensaje-usuario"></textarea>

Pero simplemente no hace nada, no inserta el valor que le indico... alguna idea de que pueda ser?
  #2 (permalink)  
Antiguo 05/02/2016, 01:01
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: problema con getElementByClassName en javascript?

Hola:

Tal como lo pones no existe. Como pueden ser varios elementos, el método devuelve una colección o array (y es document.getElementsByClassName). Y como todo array, hay un índice.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 05/02/2016, 01:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problema con getElementByClassName en javascript?

Dicho método devuelve una colección de elementos, por lo que si deseas asignar el emoticón a un área de texto en particular, tendrás que especificarlo mediante el índice que le corresponda. Por ejemplo, si quieres insertarlo en el primer área de texto del documento, tendrás que tomarla mediante el índice cero así:

Código Javascript:
Ver original
  1. document.getElementsByClassName("mensaje-usuario")[0]

Pero si tienes varias áreas de texto en el mismo documento en donde cada una tiene un listado de emoticones, lo aconsejable es agruparlos y buscar dentro de cada grupo al área de texto que posea y así puedas asignarle el emoticón.

Un saludo
__________________
«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

Última edición por Alexis88; 07/02/2016 a las 23:00 Razón: Fe de errata
  #4 (permalink)  
Antiguo 07/02/2016, 19:34
 
Fecha de Ingreso: enero-2016
Mensajes: 63
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: problema con getElementByClassName en javascript?

el problema es que escribiste document.getElementByClassName("nombres de la clase"); y es document.getElementsByClassName("nombre de la clase "); si observas te daras cuenta que Elements va con s al final
  #5 (permalink)  
Antiguo 07/02/2016, 23:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problema con getElementByClassName en javascript?

Cita:
Iniciado por andrinson Ver Mensaje
el problema es que escribiste document.getElementByClassName("nombres de la clase"); y es document.getElementsByClassName("nombre de la clase "); si observas te daras cuenta que Elements va con s al final
Buena observación; sin embargo, el problema persistirá puesto que dicho método devuelve una colección de elementos, incluso siendo solo uno, por lo que no podrá acceder directamente.
__________________
«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: jquery
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 18:19.