Avatar billede chr1234 Nybegynder
20. juni 2007 - 23:01 Der er 16 kommentarer og
2 løsninger

Advarsel ved luk vindue

Vi har en række vinduer (der fungerer som popup ved redigering af f.eks. en artikel). Der er en gemknap, men der bør også være en advarsel hvis brugeren glemmer at gemme - og blot klikker luk i krydset.

Hvordan gøres dette?
Avatar billede soerenlyn Nybegynder
20. juni 2007 - 23:42 #1
Du putter bare denne kode ind i head:

<script language="javascript">
  var allowUnload = false;
  function confirmUnload(){
      if(!allowUnload){
          return 'Har du husket at gemme?';
      }
  }
  window.onbeforeunload = confirmUnload;
</script>
Avatar billede neoman Novice
20. juni 2007 - 23:48 #2
Dette har jeg hugget from somewhere, og det gør vist det du beder om:
var workIsDone = false;

window.onbeforeunload = confirmBrowseAway;

function confirmBrowseAway()
{
  if (!workIsDone) {
  return "Are you sure you want to do that? If you leave this page " +
    "now, your work will NOT be saved!";
  }
}

Bemærk at IE og Firefox har en forskellig opfattelse af, hvad der bør trigge window.onbeforeunload : .NET linkbutton trigger ingenting i IE men vel i Firefox (eller omvendt, kan ikke lige huske det : bare check alle mulighederne I har i jeres popups:)
Avatar billede neoman Novice
20. juni 2007 - 23:49 #3
hehe - slået på målstregen af jens lyn :)
Avatar billede soerenlyn Nybegynder
20. juni 2007 - 23:51 #4
Hehe ... Tæt løb :)
Avatar billede chr1234 Nybegynder
21. juni 2007 - 00:28 #5
Problemet er, at vi har mange links på siden som den ikke skal reagere på - det skal kun gå på lukning af vinduet i "krydset" - forstår I hvad jeg mener?
Avatar billede neoman Novice
21. juni 2007 - 00:33 #6
Jep - og når nogen kommer med løsningen så kigger jeg med, fordi jeg har det samme problem. Man kan sikkert se et eller andet sted hvad som trigger unload, og sortere det fra, jeg ved bare ikke hvordan.
Avatar billede neoman Novice
21. juni 2007 - 00:35 #7
Og Eureka !!!(eller google);-)  http://www.tek-tips.com/viewthread.cfm?qid=820606
Avatar billede soerenlyn Nybegynder
21. juni 2007 - 11:16 #8
Du kan sætte en string true eller false, og hvis du trykker på et link så bliver den true, og så køres onbeforeunlode-funktionene ikke.

Man ja, så lige at det er det som linket også fortæller ... :)
Avatar billede olebole Juniormester
21. juni 2007 - 15:45 #9
<ole>

- og F5, Alt+F4, Reload-knap, Back-knap, Forward-knap?  =)

/mvh
</bole>
Avatar billede soerenlyn Nybegynder
21. juni 2007 - 18:19 #10
olebole: Mener du at koden ikke virker med ved disse ting? Min kode virker hvert fald ved Reload-knap, har jeg testet :)
Avatar billede olebole Juniormester
22. juni 2007 - 12:54 #11
Det er præcist det, den gør ... men jeg var ikke sikker på, om det var, hvad spørgeren ønskede. Nu, da jeg har læst tråden igen, er jeg dog temmelig sikker på, at din løsning faktisk løser hans problem - så deeeeeeeeet ........  ;o)
Avatar billede chr1234 Nybegynder
22. juni 2007 - 13:12 #12
ja, tak for svarene - det var det jeg søgte! vil I smide et svar?
Avatar billede olebole Juniormester
22. juni 2007 - 15:10 #13
Mine forvirrede tanker og vrøvlerier var såmænd helt gratis  ;D
Avatar billede neoman Novice
22. juni 2007 - 19:27 #14
pas - sorenlyn kom først
Avatar billede chr1234 Nybegynder
22. juni 2007 - 19:40 #15
ja, men dit link er faktisk løsningen - smid et svar begge to! :-)
Avatar billede neoman Novice
22. juni 2007 - 19:42 #16
LOL - if u insist :)
Avatar billede soerenlyn Nybegynder
22. juni 2007 - 19:57 #17
Hehe, mange tak :)
Avatar billede chr1234 Nybegynder
22. juni 2007 - 20:06 #18
sådan, god weekend!
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