Foros del Web » Programando para Internet » Javascript »

Interpretar cadena de texto

Estas en el tema de Interpretar cadena de texto en el foro de Javascript en Foros del Web. Hola, Tengo un problema para interpretar cadenas JavaScript como partes de una función. Tengo el siguiente código: Código: var i for (i=0; i<N; i++) { ...
  #1 (permalink)  
Antiguo 06/01/2006, 13:01
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Interpretar cadena de texto

Hola,

Tengo un problema para interpretar cadenas JavaScript como partes de una función. Tengo el siguiente código:

Código:
var i
for (i=0; i<N; i++)
{
  nombre = "campo" + i;
  
  // esto es lo que deseo hacer y no funciona:
  document.formulario.nombre.value = "cierto_valor_dependiente_de_i";
}
El problema es que los campos del formulario que trato de asignar se llaman:

campo0, campo1, campo2, campo3, ... campoN

¿Cómo se puede interpretar la cadena de forma correcta?

Muchas gracias!
  #2 (permalink)  
Antiguo 06/01/2006, 13:27
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Después de cierta desesperación he encontrado en un foro perdido que es tan simple como usar eval(string):

Código:
aux = "document.formulario.nombre" + i
eval(aux).value = ....
Por si sirve de algo...

Última edición por radian; 06/01/2006 a las 20:30
  #3 (permalink)  
Antiguo 06/01/2006, 16:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola:

Otra forma es poner la cadena (con la concatenación) entre corchetes:

document.formulario["nombre" + i].value = ...;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 21:27.