Foros del Web » Programando para Internet » Javascript »

Duda sobre trabajar con un formulario con un nombre guardado en una variable

Estas en el tema de Duda sobre trabajar con un formulario con un nombre guardado en una variable en el foro de Javascript en Foros del Web. Tengo varios formularios. Hay un botón, que llama a una función y ésta manda el nombre del formulario: insertar_elemento(this.form.name) Ahora, dentro de la función javascript, ...
  #1 (permalink)  
Antiguo 19/05/2005, 10:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 3 meses
Puntos: 6
Duda sobre trabajar con un formulario con un nombre guardado en una variable

Tengo varios formularios. Hay un botón, que llama a una función y ésta manda el nombre del formulario:

insertar_elemento(this.form.name)

Ahora, dentro de la función javascript, me gustaría cambiar el action del formulario, pero no sé cómo referirme a él. El nombre está guardado en la variable 'a', por ejemplo.

Tampoco puedo hacer el submit mientras no sepa usar el nombre del formulario guardado en 'a' (formulario.submit() iría, ¿pero cómo pongo en lugar de formulario, el valor de 'a'?).
  #2 (permalink)  
Antiguo 19/05/2005, 10:22
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 un_tio

Si te he entendido bien, no es necesario que pases el nombre del formulario, sino el propio formulario:

insertar_elemento(this.form)

y en la función puedes poner:

function insertar_elemento(frm) {
...
frm.action='tupagina.php';
frm.submit();
}

Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 19/05/2005, 13:54
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 un_tio:

No sé si te valdrá la respuesta de JavierB (¡Hola !), pero para saber el valor de una variable global, siempre "cuelgan de window"... aunque si sabes el nombre lo puedes poner directamente.

onsubmit="this.action = a"

Sobre lo que te decía de que cuelgan de window, es porque también se puede poner:

onsubmit="this.action = window.a"

ó

onsubmit="this.action = window.['a']"

Creo que la última de las maneras es la más interesante aunque también la menos usada...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 23/05/2005, 18:58
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 3 meses
Puntos: 6
¡Vaya! La forma de JavierB me va perfectamente (la probaré).

Caricatos, la tuya, es que no me expliqué bien: con la variable que contenía el dato, me refería a una dentro de la propia función javascript.

Es decir, si la variable dije que era "a", era porque salía nombrada así:

function insertar_elemento(a)

Aun así, interesante lo que has dicho.

Bueno, y vuestras formas de hacer esto son muy útiles. Pero ahora ya, por curiosidad: ¿Cómo se haría lo que pregunté? (igual no va a hacer falta nunca, lo pregunto sobre la marcha) Es decir, en vez de hacer:

document.formulario1.action="loquesea"

hacer:

document.['nombre_que_me_dé_la_gana'].action="loquesea"

o

['nombre_que_me_dé_la_gana].submit

Me imagino que para hacer esto, se haría facilísimamente, si el nombre está colgado de una variable, con lo que ha dicho caricatos (window.a). Y si no, y queremos meter una cadena de texto... jejeje bueno, siempre podemos meter este texto en una variable antes ;).

Saludos
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 13:14.