WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Hur gör jag detta? (https://www.wn.se/forum/showthread.php?t=13476)

fatalbert 2006-04-11 09:19

På webbsidan finns en textarea som man kan fylla i och sedan klicka spara för att skriva text till db.

Jag vill att användaren ska få en varning om han eller hon är på väg att lämna sidan men inte har sparat texten.

Hur gör jag detta?

Robert 2006-04-11 10:14

Tja... grejjen är ju den att om en användare klickar på spara så laddas ju sidan om (eller någon annan sida) medans din validering ska ske på sidan, innan man lämnar den. Du bör alltså sätta en flagga, tex notsaved=1 så fort en keydown inträffar på textarean. Om då sidan laddas om (oavsett anledning) så bör notsaved vara 0. Du kan alltså kolla denna variabel när man klickar på spara.

Eller vill du ha kodexempel?

martine 2006-04-11 16:31

fatalbert Skriv tydlig, förklarande titel på dina frågor så man slipper klicka för att få reda på vad det handlar om!!! (NEJ till titlar som "Hjälp!", "Har en fråga." och liknande. JA till t ex: "kolla innehåll i textarea innan sparas i db". Punkt.)

Citat:

Originally posted by fatalbert@Apr 11 2006, 09:19
Jag vill att användaren ska få en varning om han eller hon är på väg att lämna sidan men inte har sparat texten.
Har du provat med typ:
onsubmit="return if(!document.getElementById('intext').value) { alert('Ingen text!'); false; } else true;"
i formtaggen och
id="intext"
i textareataggen?

Bladet 2006-04-11 23:49

Man sparar ju texten om man postar och då behövs väl inte javascriptet där. Är väl om man lämnar sidan genom en länk,bokmärke,fram,bak,etc.

<script>
var notsaved=0;
</script>

<BODY onUnload="return if(notsaved==1) { alert('Texten inte sparad!'); false; } else true;">

och en onchange="notsaved=1;" på textarean

och på form så behöver man nog sätta onsubmit="notsaved=0;" så inte den klagar när man sparar.

martine 2006-04-12 03:01

Citat:

Originally posted by Bladet@Apr 11 2006, 23:49
Man sparar ju texten om man postar och då behövs väl inte javascriptet där. Är väl om man lämnar sidan genom en länk,bokmärke,fram,bak,etc.
Helt riktigt. Jag svarade visst lite för snabbt på frågan, var mest trött på att folk aldrig lär sig att skriva sin fråga i titeln så man direkt ser vad det handlar om (så man inte läser den i onödan och kanske svarar på fel fråga...) :rolleyes: ;)

fatalbert 2006-04-12 18:03

Tack för era svar och Martine, du har rätt: det var en rutten titel. Jag ska skärpa mig i fortsättningen.

Har suttit och pulat lite med problemet och det verkar ha nya inputs. Skapade en lösning motsvarande den ni föreslår. Problemet är bara att texten ligger i en iframe och oavsätt om användaren klickar ok eller avbryt laddas sidan om.

Jag måste alltså plocka texten ur iframen och om användaren inte vill lämna sidan måste jag ladda in den i framen igen efter sidans omladdning.

Några förslag?


Alla tider är GMT +2. Klockan är nu 22:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson