Avatar billede stargate Nybegynder
15. juni 2004 - 10:41 Der er 4 kommentarer og
1 løsning

Prompte for at gemme

jeg har en form, og vil gerne kunne give brugeren en advarsel, hvis han har lavet ændringer og forsøger at lukke browseren eller gå til en ny side.
Hvordan gør jeg lige det ???
Avatar billede skovenborg Nybegynder
15. juni 2004 - 11:03 #1
Prøv den her:
<script type="text/javascript">
  submitted = false;
  function checkForm() {
        frm = document.forms[0];
        for (i=0;i<frm.length;i++) {
              if ((frm.elements[i].type == "text" || frm.elements[i].type == "textarea") && frm.elements[i].value != frm.elements[i].defaultValue) {
                    return true;
              }
        }
        return false;
  }
</script>

<body onbeforeunload="if (!submitted && checkForm()) {return 'Skal du ikke gemme?';}">
<form>
<input type="text" />
<input type="submit" onclick="submitted=true;" />
</form>
</body>
Avatar billede skovenborg Nybegynder
15. juni 2004 - 11:06 #2
virker desværre kun i IE, da man fx i  Mozilla ikke har unbeforeunload eventen (som heller ikke er med i DOM-standarden) og derfor vil man højst sansyneligt ikke nå at checke særlig meget og desuden ikke forhindre brugeren i at forlade siden, som man kan i IE. Så man må håbe at dem som ikke bruger IE godt kan finde ud af at trykke på submit-knappen hvis de vil gemme ;-)
Avatar billede stargate Nybegynder
05. juli 2004 - 15:19 #3
Undskyld det varede lidt  ;-)

Løsningen er købt, læg et svar...
Avatar billede skovenborg Nybegynder
05. juli 2004 - 15:23 #4
værgso' :-)
Avatar billede skovenborg Nybegynder
05. juli 2004 - 15:34 #5
og tak 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