Foros del Web » Programando para Internet » Javascript »

Un formulario dinámico????

Estas en el tema de Un formulario dinámico???? en el foro de Javascript en Foros del Web. Hola a todos. Esta es la primera consulta que hago de JavaScript, así que no se si estoy preguntando una tontería (a mi no me ...
  #1 (permalink)  
Antiguo 23/12/2004, 04:00
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 4 meses
Puntos: 0
Un formulario dinámico????

Hola a todos. Esta es la primera consulta que hago de JavaScript, así que no se si estoy preguntando una tontería (a mi no me lo parece)

Tengo el siguiente problema:

Tengo una página html con funciones JavaScript que recibe un montón de variables desde flash. Necesito mandar esas variables a un fichero php, (vaya gazpacho de herramientas ) pero no puedo hacerlo con
fichero.php?var1=valor&var2=valor2....

porque son demasiadas, y tengo entendido que hay un límite de caracteres de esa forma.

Entonces, mi primera idea ha sido rellenar un formulario (con los campos ocultos), y, en el momento que lo necesite, hacer un submit() a la página php. Pero, el problema que tengo, es que no se como rellenar los valores del formulario, y para acceder a ellos necesito una función en JavaScript, definida en mi fichero. No puedo usar ninguna herramienta del lado del servidor

Se puede hacer??

Si esto no se puede hacer, teneis alguna posible solución al asunto?

mil gracias de antemano
Saludos
__________________
oO <--- H. Kappra ---> oO
  #2 (permalink)  
Antiguo 23/12/2004, 04:58
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 4 meses
Puntos: 0
desarrollando la pregunta de antes he llegado a un punto en el que lo que necesito es apuntar a un input de un formulario, pero dinamicamente, es decir, yo tengo una función en JavaScript que me busca el valor de una variable:

this.GetValue=function(sName)
{
ret=this.oFlashObject.GetVariable("/:"+sName)
document.variables.inputdinamicodelformulario.value=ret;
}

la primera linea de la función me devuelve en 'ret' el valor de la variable sName. La segunda línea, lo que quiero que haga es que ese valor que he recuperado en 'ret' lo almacene en el input de mi formulario que tiene el nombre 'sName'.

me ahogo en un vaso de agua

seguro que es sencillo y estoy aquí ofuscao.....
__________________
oO <--- H. Kappra ---> oO
  #3 (permalink)  
Antiguo 23/12/2004, 05:30
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 kappra

¿Has probado con...?

nombreFormulario.sName.value=ret;

Saludos,
  #4 (permalink)  
Antiguo 23/12/2004, 05:48
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 4 meses
Puntos: 0
ya lo he probado, pero eso no funciona. Estoy intentando hacer una comparación usando document.formulario[i].name con un while para determinar en que input del formulario tengo que almacenar la variable, pero de momento no lo he conseguido

aunque creo ke estoy cerca...

saludos
__________________
oO <--- H. Kappra ---> oO
  #5 (permalink)  
Antiguo 23/12/2004, 06:19
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 4 meses
Puntos: 0
pos va a ser que no me sale. ( ) Cual es el fallo de esta funcion???:

this.GetValue=function(sName)
{
var ret=""
ret=this.oFlashObject.GetVariable("/:"+sName)
i=0;
ok=0;
while ((i<51) && (ok!=1)){
if (document.formulario[i].name=sName){
ok=1;
}
i=i+1;
}
if (ok==1){
document.variables[i-1].value=ret;
}
return(ret)
}

En mi formulario solo tengo definido un input, por lo que en teoría, esto debería fallar (document.formulario[3].name, por ejemplo, no existe), o, como mucho, en el caso de que el primer elemento buscado fuera el input que tengo definido, solo entraría una vez en el while. Pero no ocurre nada de eso, entra 51 veces en el while y no falla, porque????

?¿?¿?¿?¿?¿?¿?
__________________
oO <--- H. Kappra ---> oO
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 16:00.