Foros del Web » Programando para Internet » Javascript »

problema al tomar valor en funcion con getElementById

Estas en el tema de problema al tomar valor en funcion con getElementById en el foro de Javascript en Foros del Web. Buenas a todos, estoy iniciandome en el mundo de javascript y tengo un problema. tengo una funcion que recibe un valor numerico al ejecutarse y ...
  #1 (permalink)  
Antiguo 29/09/2011, 21:04
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
problema al tomar valor en funcion con getElementById

Buenas a todos, estoy iniciandome en el mundo de javascript y tengo un problema.

tengo una funcion que recibe un valor numerico al ejecutarse y la quiero usar de la siguiente manera:
Código:
function mostrar(texto){
		
	

		
		if(document.getElementById(texto).innerHTML == '<img src="img/icons/stop.png">'){
			document.getElementById(texto).innerHTML = '<img src="img/icons/accept.png">';
		}else{
			document.getElementById(texto).innerHTML = '<img src="img/icons/stop.png">';
		}
		
		
		
		
}
creo que se entiende, este simpel codigo cambia la imagen que esta en este div segun lo recibido en el valor texto, este valor es el ID del div de una tabla generada dinamicamente con php en el html del site.

si yo uso document.getElementById(2).innerHTM, funciona sin problemas editando el icono del ID "2", pero al usarlo con la variable "texto" me da :
document.getElementById(texto) is null

puedo usar texto para lo que quiera MENOS en ese get ya que me devuelve null (sin embargo en el html el div tiene como ID el numero correcto.

alguien me podria indicar que es lo que no estoy entendiendo, porque no puedo usar "texto" como referencia de ese valor??

gracias!
  #2 (permalink)  
Antiguo 29/09/2011, 22:04
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: problema al tomar valor en funcion con getElementById

Antes del IF pon:

alert(texto);

y coloca el resultado para que te podamos ayudar
  #3 (permalink)  
Antiguo 30/09/2011, 11:08
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problema al tomar valor en funcion con getElementById

bien, al colocar alert(texto); , me devuelve el valor "1" sin comillas.

este valor es devuelto por una consulta ajax a un archivo php, este devuelve el numero id del usuario en cuestion.

ese numero id es el que quiero coincidir con el div para saber en que posicion de la tabla de usuarios se encuentra la imagen que quiero actualizar y no se mescle con las otras.

basicamente lo que quiero es ccambiar un icono de "activo/inactivo" que cambia un valor por ajax en una DB mysql. Es icono tiene que cambiarse por el de "activo/inactivo" con respecto al valor anterior que tenia, ya que si lo clickeas se cambia al valor opuesto y deberia cambiar ese icono.

Pero estoy bloqueado por ese error, no consigo entender porque el if no me toma el valor del id si lo llamo desde "texto".
  #4 (permalink)  
Antiguo 30/09/2011, 13:45
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: problema al tomar valor en funcion con getElementById

Prueba de esta forma.

Código Javascript:
Ver original
  1. function mostrar(texto){
  2.        
  3.    
  4.  
  5.        
  6.         if(document.getElementById(texto) == 1){
  7.             document.getElementById(texto).innerHTML = '<img src="img/icons/accept.png">';
  8.         }else{
  9.             document.getElementById(texto).innerHTML = '<img src="img/icons/stop.png">';
  10.         }
  11.        
  12.        
  13.        
  14.        
  15. }
  #5 (permalink)  
Antiguo 01/10/2011, 09:39
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problema al tomar valor en funcion con getElementById

da: document.getElementById(texto) is null

marca el error en la linea del else aca:
document.getElementById(texto).innerHTML = '<img src="img/icons/stop.png">';
  #6 (permalink)  
Antiguo 01/10/2011, 09:47
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problema al tomar valor en funcion con getElementById

Ohhhh siii victoriaaa!!! ya encontre el error XD

dios que manera de quemarme el marote por esta pavada. te paso a comentar, el problema fue que al mandar la funcion al ajax esta lo devuelve con un "espacio" en blanco detras del numero id, por eso el if no encontraba el div, porque no habia ningun div con un espacio en blanco :S

ya lop pude corregir, me di cuenta cuando probe de esta menra:
alert('x' + texto + 'x');
y comprobar que hay espacios en blancos al final de esa cadena que solo deberia tener un numero.

gracias Maganius por la ayuda!!!!
saludos. Diego.

Etiquetas: funcion, getelementbyid, html, php, tomar
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 15:46.