19. april 2001 - 21:58Der er
19 kommentarer og 1 løsning
\"Vent venligst side\"
Hejsa,
Jeg har en side hvor jeg har en form der sender nogle ting til en anden side, og inden at den side behandler de data færdig vil jeg gerne have en \"Vent venligst\" side op på skærmen.
Min form ser sådan her ud: <form ACTION=\"data.asp\" METHOD=\"get\" onsubmit=\"window.open(\'/global/wait.asp\',\'wait\',\'height=300,width=500\');\">
Dette fungere sådan set også fint nok. Mit problm er bare at få lukket det vindue igen. Jeg har incl. følg. kode i min data.asp:
en anden (og sikrere) mulighed er at lade dit window.open kald gemme vinduets adresse i en variabel: onsubmit=\"self.winPtr = window.open(\'/global/wait.asp\',\'wait\',\'height=300,width=500\');\">
men hov. vi har allesammen gået ud fra at den side der skal lukke vinduet er den samme side som der åbnede det. Det lyder som du vil skrive noget i din fil data.asp der lukker vinduet.
Det ved jeg ikke hvordan man kan.
du kan skrive et lille script i vinduet selv, der lukker det når den gamle side bliver overskrevet af data.asp.
<script> <!-- //NB: i filen wait.asp
function maybeClose () { if ( !( opener ) || !( opener.winPtr ) ) self.close(); }; //end maybeClose ()
Jeg sender fra default.asp til data.asp, og vindueet jeg åbner hedder wait.asp
Det er data.asp der skal lukke vinduet wait.asp, når den har indlæst hele dokumentet (over 1000 linjer)
Og, nej. Jeg vil ikke lukke det efter fx 5 sekunder. Microsoft har gjort det med Windowsupdate.com, og hvis de kan på deres side, kan jeg også på min (ved bare ikke lige helt hvordan endnu)
function maybeClose () { if ( !( opener ) || !( opener.winPtr ) ) { clearInterval(timHandle) setTimeout( self.close(); 2000 ); // et lidt bedre sjus end 5 sek da vi ikke // starter før filen begunder at komme }; }; //end maybeClose ()
var timHandle = setInterval( \"maybeClose()\", 100 );
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.