pettssonMedlem sedan jan. 2002777 inlägg Jag har en confirm i min onUnload på formulärsidor för att undvika att man glömmer att spara innan man går vidare. Men det funkar inte, jag har
<body onUnload="return confirm('Lämna?');">
En google-träff laddade om sidan om man tryckte på cancel, men det kommer ju att ladda om formuläret :l Tips?
GuffaMedlem sedan juni 2004533 inlägg Du kan inte stoppa eventet onunload.
Tänk bara hur det skulle missbrukas. Du skulle få upp en massa fönster med reklam som har onunload="return false", så skulle det inte gå att stänga dem...
Ifall du vill hindra användaren att byta sida så måste du stoppa det tidigare, till exempel med onclick på en länk.
pettssonMedlem sedan jan. 2002777 inlägg Hm... Det har du ju förstås rätt i. Då får man alltså säga till användarna att om de trycker backspace så får de skylla sig själva
Web-TorMedlem sedan nov. 200011 794 inlägg Du kan ju alltid spara informationen innan användaren lämnar sidan. Här är lite fulkod:
<script>
function q(){
var a=confirm("Vill du spara ändringarna innan du lämnar sidan?");
if(a){
f.submit();
alert('Informationen sparas')
}
}
</script>
<body onunload="q()">
<form id="f"></form>
<a href="sidan2.html">Gå till en anna sida</a>
</body>
Det är inte någon 100%-ig lösning men den funkar bra så länge användaren inte stänger fönstret.
GuffaMedlem sedan juni 2004533 inlägg För att posta formuläret så måste det ju finnas en sida att posta det till. Ifall fönstret håller på att stängas så fungerar det ju inte att posta formuläret till samma fönster.
Testa att öppna ett nytt fönster och posta formuläret dit. Sidan som tar emot formuläret kan ju stänga fönstret sedan.
window.open('','kaffesump','width=100,height=100');
document.f.target='kaffesump';
document.f.submit();