PDA

Ver la Versión Completa : recuperar el select enviado en el form


elcigarra
26-08-2006, 17:07:52
Tengo dos selects cuyas opciones se cargan desde una bd de mysql. Es el clásico de Regiones y Localidades en un país. El asunto es que por cada region hay varias localidades.

Tengo, pues un función de javascript donde si cambio la opción del primero, las opciones del segundo select cambian "en el aire".
<select onchange=makebox() name=...

Donde makebox sería el script que llena el segundo select segun corresponda.

El tema es que cuando llego a la página las primeras opciones de cada uno de ellos se llenan sin utilizar el script (ya que como no cambio la opción del primero no se dispara el script de javascript)

El problema que me genera esto es que si en el resultado del formular el usuario presiona "Atrás" para volver a la página del formulario, este segundo select se llena con las opciones que tiene en código lo que genera una incoherencia en el formulario.

Uno debería volver a cambiar el primer select para volver a la normalidad. Hay forma de evitar esto?

Se me ocurre que en delphi se podría utilizar algo como el:

procedure Form1.onactivate(form1);
begin
makebox();
end;


se puede hacer algo similar en javascript?

D-MO
26-08-2006, 17:58:55
Lo correcto sería:
<select onchange="makebox();" ...

Saludos.

elcigarra
26-08-2006, 20:35:36
Es posible que sea lo correcto. En todo caso funciona de las dos formas y con el mismo defecto. Me temo sin embargo que no me he hecho entender. No tengo problema con el funcionamiento del código ni con la sintaxis, sino con la estrategia.

La pregunta concreta sería: Es posible correr una función de javascript en el momento de cargar la página en la que fue codificada?

Si es posible no conozco el código.

dec
26-08-2006, 20:50:51
Hola,

No sé yo si te valdría de algo utilizar el evento "onload" del objeto "windows" o el evento "onload" del elemento "body"...


<html>
<body onload="EjecutaEsto();">
...
</body>
</html>



<html>
<head>
<script>
window.onload = EjecutaEsto();
</script>
</head>
<body>
...
</body>
</html>

elcigarra
27-08-2006, 14:19:14
gracias,dec