Foros del Web » Programando para Internet » Javascript »

Utilizar una variable en el document.formulario...

Estas en el tema de Utilizar una variable en el document.formulario... en el foro de Javascript en Foros del Web. Tengo una función javascript a la que le paso dos parametros; un código y un número. El nombre de mis variables es loquesea1,loquesea2,loquesea3... Le paso ...
  #1 (permalink)  
Antiguo 05/10/2004, 01:53
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Utilizar una variable en el document.formulario...

Tengo una función javascript a la que le paso dos parametros; un código y un número.

El nombre de mis variables es loquesea1,loquesea2,loquesea3...

Le paso el número para decir en cual de ellas estoy trabajando, mi problema es que no me deja meterle la variable para relacionarla con el document.Formulario ...
He probado de mil maneras y ya no se que pensar,

¿Tiene solución mi problema?

Código:
function Modificar(codigo,s)
{
var codigo=codigo;

var D1="Descripcion_es"+s;
var D2="Descripcion_en"+s;
var D3="Descripcion_it"+s;

var Descripcion_1="document.Familias."+D1;
var Descripcion_2="document.Familias."+D2;
var Descripcion_3="document.Familias."+D3;

alert (Descripcion_1.value);
alert (Descripcion_2.value);
alert (Descripcion_3.value);
}
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #2 (permalink)  
Antiguo 05/10/2004, 02:26
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 Enea:

En principio la primera línea de tu función no tiene ningún sentido:
"var codigo=codigo"

Y estas líneas:

var Descripcion_1="document.Familias."+D1;
var Descripcion_2="document.Familias."+D2;
var Descripcion_3="document.Familias."+D3;

Podrían funcionar con un eval por delante;

var Descripcion_1=eval("document.Familias."+D1);
var Descripcion_2=eval("document.Familias."+D2);
var Descripcion_3=eval("document.Familias."+D3);

Una forma que podría servirte es:

document.forms["Familias"]["Descripcion_es" + s][value];

Creo que con esta última opción simplificarías la función...

ejemplo:

alert(document.forms["Familias"]["Descripcion_es" + s][value]);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 05/10/2004, 02:38
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Muchas gracias Caricatos, me ha ido muy bien

La razón por la que yo hacia la función tan larga era para ver que estaba pasando y hacia alerts... Y lo del codigo un despiste

En fin, me ha ido muy bien tu respuesta, nunca había visto usar así esa sentencia...

Una cosa en la que te has colao.. Por si alguien le sirve este post

alert(document.forms["Familias"]["Descripcion_es" + s][value]);

el value va entre comillas.

Muchisimas gracias!!!!!!
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #4 (permalink)  
Antiguo 05/10/2004, 02:53
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 Enea:

Me alegro de que te funcione bien

No sabes las veces que se me cuelan errores así, pero es evidente que lo has sabido corregir.

Esa forma de representar los elementos de formulario se aplica por igual en cualquier "objeto" del documento y se encadena igual que si se hiciese con los puntos... y también se puede mezclar...

document.forms["elFormulario"].elElemento["value"]
es igual a
document.forms.elFormulario["elElemento"].value
y a cualquier combinación...

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 14:15.