Foros del Web » Programando para Internet » Javascript »

evitar error objet required

Estas en el tema de evitar error objet required en el foro de Javascript en Foros del Web. Hola a quien se de el tiempo de leer esta pregunta. Necesito que me echen una manito con lo sgte: como puedo saber si un ...
  #1 (permalink)  
Antiguo 07/08/2009, 13:30
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 14 años, 9 meses
Puntos: 4
evitar error objet required

Hola a quien se de el tiempo de leer esta pregunta. Necesito que me echen una manito con lo sgte:

como puedo saber si un "id" existe, me explico:

en mi pagina de php genero un id="blink" si el valor de una variable X es mayor que otra variable Y, con ese id ejecuto codigo javascript que hace que el valor Y parpadee. hasta ahi todo bien, el problema es cuando el valor de X no es mayor que Y el id="blink" no existe y por lo tanto el codigo Js me tira un error de object require

estoy claro porque ocurre pero no he podido hacer in if que evite que ejecute el codigo sino existe el id

aqui les pego el codigo de mi php por si aclara un poco mas el tema:

Código:
if ($totalpresupuestos > $monto){ 
   echo '<p id="blink" style="color: #FFCC00">'.$totalpresupuestos.'</p>';
} else { 
   echo $totalpresupuestos; } ?>
y mi codigo JS es

Código:
var ray=
    {
    	flag:1,
    	delay:500, // 1000 == 1seconds
    	setBlink:function(elID,clr,flagVal)
    	{
    	document.getElementById(elID).style.visibility=clr;
    	this.flag=flagVal;
    	},
    	blink:function()
    	{
    		this.flag===1?ray.setBlink('blink','hidden',0):ray.setBlink('blink','visible',1);
    		setTimeout("ray.blink();",this.delay);  // 1000 = 1sec
    	}
    }

    window.addEventListener?window.addEventListener('load',ray.blink,false):window.attachEvent('onload',ray.blink);
este fue un codigo que encontré por ahi googleando y honestamente tengo una vaga idea de lo que hace. hace tiempo que no hacia nada con html y antes existia un tag llamado <blink> que me hubiese facilitado mucho la vida pero al parecer ya no esta por lo menos para IExploter


he probado con:

if (document.getElementById('blink'))

if (document.getElementsByTagName('p'))

y sus variantes con null , false, true o 0s y 1s, pero no logro saltarme la ejecucion del codigo , y posterior error.

alguna idea de como hacerlo?

gracias
  #2 (permalink)  
Antiguo 07/08/2009, 13:43
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: evitar error objet required

sin modificar mucho, agregale como primera linea el siguiente codigo a la funcion blink
Código:
	if(!document.getElementById('blink'))return;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 07/08/2009, 14:06
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: evitar error objet required

Lo hice pero me dice que return está fuera de la función. Asumo que es porque el codigo no es una función, ya que no he podido trasformarla en una función, de hecho si pudiera transformala en función no tendria que preguntar siquiera si el id existe porque la llamada solo existiria si se cumpliera la condicion. gracias por la ayuda
  #4 (permalink)  
Antiguo 07/08/2009, 14:13
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: evitar error objet required

esto era lo que tenias que hacer
Código:
    	blink:function()
    	{
	if(!document.getElementById('blink'))return;
    		this.flag===1?ray.setBlink('blink','hidden',0):ray.setBlink('blink','visible',1);
    		setTimeout("ray.blink();",this.delay);  // 1000 = 1sec
    	}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 07/08/2009, 14:26
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: evitar error objet required

Muchas Gracias!!!! no habia cachado donde poner la condicion, soy mas que newbie en javascript
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 22:17.