Avatar billede lauge Nybegynder
20. august 2002 - 13:32 Der er 11 kommentarer og
1 løsning

God ide søges til at undgå at folk lukker vindue!

Hej drenge,

Jeg har et system hvor når man skal redigere en nyhed så popper et nyt vindue op med en editor i.
Folk kan så ændre nyheden og klikke "Gem" eller "Fortryd".
Men jeg vil gerne undgå at de kan lukke vinduet selv ved at trykke fx. "Ctrl W" eller klikker på lukke krydset i toppen af browseren.
Grunden er at vi i databsen registrerer nyheden som "ved at blive redigeret", således at man kan undgå at 2 brugere siden og retter i samme nyhed på samme tid. lidt kort forklaret!

Jeg kunne fx. bruge onUnload() eller onbeforeunload(), men de bliver også kaldt når brugeren klikker "Gem" og systemet lukker editor browseren.

Så er den nogen som har en god ide til en løsning til hvordan jeg kan tvinge brugeren til at klikke på Gem knappen eller Fortryd knappen i editoren for at brugeren kan lukke vindue??

Jeg overvejer at benytte HTMLapplikationer men vil helst undgå det og "kun" bruge IE som den er.

Er det for rodet beskrevet? :-)

Lauge
Avatar billede bamzen Nybegynder
20. august 2002 - 13:56 #1
Hvis du nu som du selv er inde på bruger onUnload eller onbeforeunload men du tjekker på en variabel som kan være enten true eller false, default false.... så kunne du på din gem knap sige at variablen først skal være true, så derefter køre javascriptet

alternativt, når onunload, eller onbeforeunload køres, sæt staus til "bliver ikke redigeret" måske nemmere

/Martin
Avatar billede nikolajdu Nybegynder
20. august 2002 - 14:30 #2
Hvad med at forklare folk at de ikke må lukke vinduet... Så er de selv ude om det....

Du kan heldigvis ikke holde folk på en side de ikke gider glo på længere :)
Avatar billede lauge Nybegynder
20. august 2002 - 16:36 #3
nicolajdu>>> æææ, det er et intranet i en virksomhed :-)=
De er netop ikke kun selv ud om det hvis du ikke klikker gem, for nyheden vil jo blive stående i databsen som "at være ved at blive redigeret".
Avatar billede coolcoder Nybegynder
20. august 2002 - 19:30 #4
hvad med at timestampe nyheden i basen, så den efter fx 10 eller 30 minutter igen kan redigeres?
Avatar billede burgermann Nybegynder
21. august 2002 - 18:26 #5
Du kan godt lave det med en OnUnload="luknyhedredigering()" i dit popup vindue, som sørger for fortælle serveren, at brugeren har lukket vinduet. Men det kræver bare, et ekstra lille bitte popupvindue, hvor i aspscriptet skal tændes. Giver det mening?
Avatar billede lauge Nybegynder
21. august 2002 - 20:17 #6
burgermann >> problemet er så bare hvis de skrifet en ny URL adresse selv?
Avatar billede roe Nybegynder
22. august 2002 - 08:21 #7
Gør brug af et modalt vindue. Så har du mulighed for at checke på de variable (et array) der kommer retur!

window.showModalDialog(parametre her.......)

/roe
Avatar billede nikolajdu Nybegynder
09. januar 2003 - 04:51 #8
ehe lukke???
Avatar billede lauge Nybegynder
09. januar 2003 - 08:15 #9
nej vi lukker ikke endnu - leder stadig efter gode ideer!
Avatar billede nikolajdu Nybegynder
09. januar 2003 - 10:34 #10
jamen så bliver jeg nødt til at tvinge dig til det. Spørgsmålet er næsten 5 måneder gammelt - Det er på ingen måder rimeligt overfor de folk der forsøger at hjælpe dig.

Du får 3 dage.

/Nikolaj /co-admin
Avatar billede nikolajdu Nybegynder
09. januar 2003 - 10:36 #11
Og det her er snart 2½ år gammelt.

http://www.eksperten.dk/spm/26504
Avatar billede lauge Nybegynder
09. januar 2003 - 10:37 #12
ok - efter tvang lukker jeg spørgsmålet!
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