Gemme formdata automatisk når en side forlades,
Jeg prøvede før at oprette et spørgsmål, men jeg kan ikke finde det nogen steder, så jeg prøver igen...Jeg arbejder på et sagsbehandlings system, på et Intranet. Når man i sagsbehandlings systemet åbner en sag startes en tidstæller. Det er et simpelt javascript som i en form viser tiden i et disabled text felt.
Når formen gemmes, dvs. når en sag opdateres, gemmes tidstælleren i forbindelse med at der indsættes en ny handling i en database, men jeg vil gerne have at den også gemmes hvis siden forlades på anden vis, f.eks. ved et uheld, eller hvis den forlades for bevidst at undgå at tiden registreres.
En mulighed kunne være at lade OnBeforeUnload vise en advarsel, men jeg kunne godt tænke mig at der ikke kom nogen advarsel, men at tidstælleren blot blev gemt automatisk.
Jeg tænkte først på muligheden at lave en skjult frame som bliver aktiveret af OnBeforeUnload, men jeg er ikke sikker på at man kan kontrollere at den får udført et asp-script som indsætter i en database, før siden forlades, så den er jeg gået lidt væk fra.
Til gengæld har jeg tænkt på de her popup vinduer hvor der ikke vises ramme, menulinie, hoved osv., altså hvor det vil være muligt at åbne en popup på 0x0 pixels, så brugeren ikke ser det (Er det ikke dem der hedder modelessdialog?).
Denne popup skal så åbne et asp-script via en url med en querystring indeholdende den aktuelle værdi af text feltet hvor tælleren vises. asp-scriptet skal så sørge for at indsætte en handling i en database hvorved tiden registreres, og derefter "lukke" det usynlige popup vindue.
asp-scriptet skal jeg nok selv udforme, men jeg mangler lidt inspiration til hvordan jeg kan sørge for at åbne det skjulte popup vindue OnBeforeUnload og hente værdien af text feltet og smide i en querystring. Dette skal selvfølgelig kun ske såfremt siden forlades på unormal vis, d.v.s. at den ikke skal åbne en popup hvis formen submittes.
Ja jeg ved godt at OnBeforeUnload er en IE ting, men alle brugere på Intranet anvender MSIE6+, så det bliver intet problem.
Nogen der kan hjælpe med denne?