Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   recuperar el select enviado en el form (https://www.clubdelphi.com/foros/showthread.php?t=34959)

elcigarra 26-08-2006 17:07:52

recuperar el select enviado en el form
 
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".
Código:

<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:
Código:

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:
Código:

<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"...

Código:

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

Código:

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


elcigarra 27-08-2006 14:19:14

gracias,dec


La franja horaria es GMT +2. Ahora son las 18:16:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi