Trigge confirmbrowsaway - FF/IE
Jeg har en ASPX side hvor i browseren brugeren ændrer nogle data, som opdaterer et dataset. Eftersom der kan være mange ændringer, ønsker jeg først at opdatere DB'en efter at brugeren trykker på en Save knap. For at hindre tab af data ønsker jeg at advare brugeren hvis han forlader siden. Jeg har fundet følgende kode som virker - delvist :var workIsDone = false;
window.onbeforeunload = confirmBrowseAway;
window.onload=alert("hello");
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!";
}
}
I Internet Explorer 6 sker følgende:
1. Den siger "not implemented" til window.onload, hvorpå den alligevel viser beskeden ! :-) (fejlen fjernes hvis jeg kommenterer window.onload ud - og eftersom funktionen kun blev brugt til test så fjerner jeg den i produktionskoden)
2. confirmbrowseaway bliver trigget hvis jeg prøver at gå væk fra siden uanset hvordan -fint !
3. I en updatepanel har jeg et par LinkButtons, hvor PostBackURL ikke er sat og de skal derfor poste tilbage til den samme side. Dette trigger også min confirmBrowseAway, og det er ganske fint.
Jeg bruger en LinkButton fremfor et almindeligt link for at beholde min viewstate på nogle controller.
I Firefox:
1. Ingen fejl - den viser window.onload beskeden
2. confirmbrowseaway bliver trigget hvis jeg prøver at gå væk fra siden - fint nok
3. De LinkButtons beskrevet i 3. ovenfor trigger IKKE confirmBrowsaway.
På godt gammelt dansk: WTF? :-)
Nogen som har erfaring i at få LinkButton til at håndtere IE og FF på samme måde ? Eller et alternativt forslag ? Jeg er ikke forhåbningsfuld, men mirakler kan da ske :)