Foros del Web » Programando para Internet » Javascript »

Problema eval con Mozilla?

Estas en el tema de Problema eval con Mozilla? en el foro de Javascript en Foros del Web. Hola, estoy problando esto: obj = eval('fila'+i); obj.className='FilaOver'; En explorer va de perlas (se lo traga todo), pero porque no me funciona en Mozilla? un ...
  #1 (permalink)  
Antiguo 01/10/2004, 14:23
 
Fecha de Ingreso: agosto-2003
Mensajes: 99
Antigüedad: 20 años, 8 meses
Puntos: 0
Problema eval con Mozilla?

Hola, estoy problando esto:

obj = eval('fila'+i);
obj.className='FilaOver';

En explorer va de perlas (se lo traga todo), pero porque no me funciona en Mozilla?

un saludo.
  #2 (permalink)  
Antiguo 02/10/2004, 03:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola nebuc.

Me parece que puede ser porque estás usando el name del objeto. Intentalo poniendo a los objetos el id="filax" y usas:

document.getElementById(obj).className='FilaOver';

Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 04/10/2004, 07:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 99
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola, pos parece ser que este no es el problema...
He problado lo que me dices, pero el problema está para obtener el obj.

obj = eval('fila'+i);

En la consola de javascript (Firefox), me dice "fila1 not defined", mientras que en el cod. si que está definido.

<tr id="fila1" onMouseOver="sombrea(1);">

Tiene algo que ver que el javascript lo tenga en un .js?

Recuerdo que en IE funciona sin problemas.
un saludo, muchas gracias.
  #4 (permalink)  
Antiguo 04/10/2004, 09:32
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

He hecho una prueba y no necesitas usar eval. Esto me ha funcionado en IE y Firefox:

obj = 'fila'+i;
document.getElementById(obj).className='FilaOver';

Saludos,
  #5 (permalink)  
Antiguo 04/10/2004, 13:51
 
Fecha de Ingreso: agosto-2003
Mensajes: 99
Antigüedad: 20 años, 8 meses
Puntos: 0
uauuu correcto, funciona perfectamente.

Muchas gracias!!!!

  #6 (permalink)  
Antiguo 05/10/2004, 09:29
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Muchas de nada. Y esta vez solo he necesitado 2 intentos para acertar
  #7 (permalink)  
Antiguo 27/04/2005, 04:31
 
Fecha de Ingreso: julio-2004
Mensajes: 47
Antigüedad: 19 años, 10 meses
Puntos: 0
Eval con Mozilla

Hola tengo un problema parecido, me explico.
Tengo un javascript que en Internet Explorer me funciona pero en Mozilla no, como puedo solucionar el problema: me peta aquí:

eval("document." + formname + "." + diactrl + ".options[" + (0) + "]").selected=true;

gracias.!!

Lo que quiero hacer són tres combos con dia, mes y año Y que controle los años bisiestos, febrero etc..

si alguien tiene el código que fuencione en INTERNET EXPLORER I MOZILLA FIREFOX
  #8 (permalink)  
Antiguo 27/04/2005, 08:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola robertmasana (y demás... ):

Casi siempre (o siempre) es posible evitar el uso de eval con los arrays asociativos:

document.forms[formname][diactrl].options[0].selected=true;

Lo que me extraña es: ".options[" + (0) + "]"...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 29/04/2005, 02:38
 
Fecha de Ingreso: julio-2004
Mensajes: 47
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola Caricatos

He copiado tu respuesta y la he puesto en mi javascript pero me sigue petando en esta nueva línia, el otro codigo lo he comentado pero este nuevo también falla.

Tengo que hacer halgo más!!

Este cambio en Internet Explorer funciona pero sigue sin funcionar en Mozilla.
//eval("document." + formname + "." + diactrl + ".options[" + (0) + "]").selected=true;


document.forms[formname][diactrl].options[0].selected=true

PD: no hagas caso a la tonteria de concatenar el (0) jejej pero hantes tenia una variable jejeje.
  #10 (permalink)  
Antiguo 04/05/2005, 04:21
 
Fecha de Ingreso: julio-2004
Mensajes: 47
Antigüedad: 19 años, 10 meses
Puntos: 0
Naide me puede ayudar Eval

Hola nadie me puede ayudar con este tema, como puedo modificar el tema del eval para que me funcione en mozilla??

eval("document." + formname + "." + diactrl + ".options[" + (0) + "]").selected=true;

o

document.forms[formname][diactrl].options[0].selected=true;

Las dos me fallan!!!

Nadie tiene un código con tres combos para poder seleccionar día, mes y año?? controlando los años bisiestos, febrero etc...

Nadie lo tiene!!! No me lo puedo creer seguro que hay algún crack que lo tiene!!!

Vengo necesito ayuda urgente para hoy!!!

Chao
  #11 (permalink)  
Antiguo 04/05/2005, 04:37
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
fijate en la consola javascript de Firefox que error te da...
__________________
I Love Programming...
  #12 (permalink)  
Antiguo 04/05/2005, 08:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Me parece que no llegué a explicarme bien...

Entre corchetes debes poner un texto o una variable de texto... o un número que se corresponda con el índice del conjunto de formularios detrás de forms y de elementos del formulario detrás de este último...

Prueba con:

document.forms["formname"]["diactrl"].options[0].selected=true;

Fíjate en las comillas... y el uso de la consola de javascript tanto en mozilla como en opera es una buenísima idea (lamentablemente explorer es peor en eso).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 05/05/2005, 07:46
 
Fecha de Ingreso: julio-2004
Mensajes: 47
Antigüedad: 19 años, 10 meses
Puntos: 0
Este es el error que me da la consola:
formname es una varialbe igual que diactrl

Error: document.forms[formname][diactrl].options[0] has no properties
Archivo de origen: http://pepepep/asdfasfsa/js/listbox_fechas.js
Línea: 174
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:13.