Avatar billede crunch Nybegynder
13. juni 2003 - 16:01 Der er 10 kommentarer og
1 løsning

virker med alert, virker ikke uden (tid til eksekvering problem)

Hej,

Jeg har en funktion som:

function SubmitUnload(){
copyValue();
document.Form1.submit();
alert('virker nu');
}

og den bliver kaldt på onload i min body.

<body onUnload="SubmitUnload();">

Det virker. Men hvis jeg nu fjerner alert('virker nu'); som:

function SubmitUnload(){
copyValue();
document.Form1.submit();
}


ja så virker det kun ca. 1/3 af de gange siden forlades.
Altså. Det virker som om at der skal være "et eller andet" der skal fastholde siden, før eventen kan køres på onunload.

Findes der mon en workarround, uden at der kommer en alert, eller lignende brugeren vil opdage ??
Avatar billede minijensen1 Nybegynder
13. juni 2003 - 16:03 #1
prøv med <body onBeforeUnload="SubmitUnload();"> .. jeg er ikke 100% sikker på at det virker, mener blot at jeg har set den event et sted på et tidspunkt..
Avatar billede mm12010 Nybegynder
13. juni 2003 - 16:07 #2
onBeforeUnload virker vist nok kun i IE6
Avatar billede roenving Novice
13. juni 2003 - 16:16 #3
Og det giver marginalt, slet ikke nok
Avatar billede roenving Novice
13. juni 2003 - 16:17 #4
Hvad er det du har brug for siden du bruger onunload ?-)

Det er nok den mest usikre måde at udføre nogetsomhelst, for du får ikke lukningen af siden til at vente på, at du laver noget ...
Avatar billede crunch Nybegynder
13. juni 2003 - 16:48 #5
det er for at gemme en værdi ved sideskift (eller anden lignende handling). Det er et større tekstfelt, derfor kan det ikke sendes som querystring eller lign.
Avatar billede roenving Novice
13. juni 2003 - 16:51 #6
Hvad med at udføre det med en handling på formen, f.eks. onchange på feltet ...
Avatar billede crunch Nybegynder
13. juni 2003 - 16:54 #7
jo. det var selvfølgelig en mulighed. Men det bliver jo en del overflødige kald til databasen. Vil helst kun kalde den når det var absolut nødevendigt. Måske skal jeg prøve at lave en sessionstate istedet. tænker lige...
Avatar billede roenving Novice
13. juni 2003 - 17:00 #8
onchange bliver kun udført når fokus forlader feltet, og feltindholdet er ændret ...

dine brugere klikker vel ikke inde i det felt hele tiden og laver en ændring af et bogstav, for så at gå et andet sted hen ?-)
Avatar billede crunch Nybegynder
13. juni 2003 - 17:04 #9
det er rigtigt. Men det er også det der med at gemme når det ikke er strengt nødvendigt. F.eks. hvis en bruger fortryder det ha/un har skrevet. Ja så burde det ikke være autogemt. Men problematikken er lidt det samme med min egen løsning. Jeg tror faktisk jeg vil prøve med ViewState (.NET) istedet for. Men tak for hjælpen. Kan du ikke lige oprette et spørgsmål hvis du vil have points (-:
Avatar billede roenving Novice
13. juni 2003 - 17:17 #10
-- tror jeg vil prøve med et svar *g*

-- håber du får den den vej så '-)
Avatar billede roenving Novice
13. juni 2003 - 17:27 #11
-- og takker for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester