Waarschuwing bij verlaten pagina ?
Heeft iemand toevallig iets wat daarvoor kan zorgen? Ik heb al zitten googlen maar daar vond ik alleen wat scipts om te melden wanneer de hele pagina word weggeklikt... het lijkt me mogelijk maar ik kan nergens vinden hoe! Als iemand iets weet hoor ik het graag!
Ook deze is weer als je de hele site weg wil klikken, het betreft hier alleen een pagina, inschrijven.php bijvoorbeeld....
Code (php)
?
wat als iemand geen JS heeft aanstaan? dat vind ik altijd een vreselijk nadeel van JS.
Als je een website bouwt moet die gelijk zijn voor iedereen, JS aan of uit, Netscape, IE, FF of weet ik veel welke browser.
Dan zou je m m.i. beter in php kunnen doen.
Als iemand de pagina eenmaal verlaten heeft kan php daar niks meer aan doen.
Ander verhaal is als de user de pagina verlaat maar op een pagina van de zelfde website komt, dan kan je wel wat doen met php. Maar ik denk niet dat de TS dat bedoelt
Edit:
Het is de bedoeling dat het alleen plaatsvind als er op dezelfde site tijdens het process naar een andere pagina word gegaan[/EDIT]
Gewijzigd op 01/01/1970 01:00:00 door Leon
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
session_start():
if(gebruiker is bezig met het invullen van het formulier) {
$_SESSION['inschrijven'] == 'busy';
}
?>
session_start():
if(gebruiker is bezig met het invullen van het formulier) {
$_SESSION['inschrijven'] == 'busy';
}
?>
Als je die pagina wegklikt dan sla je die waardes van het formulier toch niet op in een sessie dus wat heb je er dan aan?
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
En in die sessie een array stoppen met de formulier waarden.
Vervolgens kijk je of deze sessie leeg is of niet.
Je hebt een stukje AJAX nodig om tijdens het invullen van het formulier deze sessie te wijzigen.
AJAX betekent weer javascript, javascript = 1e oplossing van henk.
Wil je het dus makkelijk? Geef elke bezoeker een fout pagina waarin wordt verzocht om JS aan te zetten, met instructies voor de leken. En gebruik de 1e oplossing van Henk.
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
erm... bedankt voor deze vrij verhelderende informatie, het enige wat niet verhelderend is is dat ik nog GEEN verstand heb van Ajax, en JS is ook al niet mn sterkste punt... Is er iemand die zin en tijd heeft om dat even voor me uit te leggen?
Voor AJAX:
http://www.ajaxlessons.com/
En voor JS mag je zelf zoeken.
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
<script language="javascript" type="text/javascript">
UNLOAD_MSG = 'Als u de pagina afsluit gaan de gegevens in uw karretje verloren';
function doBeforeUnload(){
if(window.event){
window.event.returnValue = UNLOAD_MSG;
}else{
return UNLOAD_MSG; }
}
if(window.body){
window.body.onbeforeunload = doBeforeUnload;
}else{
window.onbeforeunload = doBeforeUnload;
}
</script>
?>
<script language="javascript" type="text/javascript">
UNLOAD_MSG = 'Als u de pagina afsluit gaan de gegevens in uw karretje verloren';
function doBeforeUnload(){
if(window.event){
window.event.returnValue = UNLOAD_MSG;
}else{
return UNLOAD_MSG; }
}
if(window.body){
window.body.onbeforeunload = doBeforeUnload;
}else{
window.onbeforeunload = doBeforeUnload;
}
</script>
?>
hiermee doet ie t helemaal! Bedankt iedereen die de moeite genomen heeft om te kijken!
als je het zo bekijkt hebben jullie inderdaad gelijk, ik meende ergens dat er al een actie was uitgevoerd op de pagina inschrijven, maar nog niet voltooid. Maar inderdaad, als dat om een form gaat zal er wel Ajax/Javascript aan te pas moeten komen.
Ik zal toch nog eens zoeken naar de perfecte oplossing :P
Is er iemand die iets meer verstand heeft van JS en dat soort dingen die kan vinden hoe zij dat hebben opgelost?
Heb je een linkje/fimpje naar deze hotmail functie?
Dat is gewoon inloggen op je hotmail (als je die heb, ik neem bijna aan van wel) en dan Nieuw bericht... ik kan geen linkje sturen, want dan moet je toch inloggen... Type een paar letters in het tekstvak en ga naar bv. je Inbox, dan zie je de melding......
Gewoon een goede browser gebruiken heet dat.
Dan heeft dat toch echt met jou instellingen te maken, want dat hoort dus niet bepaald.... Ga plz niet van DIT soort onzinnige reacties geven, want dit heeft niets met helpen te maken of iets toevoegen.
Verder hier een simpel voorbeeld van hoe je deze melding weglaat bij het verzenden van je formulier:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script type="text/javascript">
UNLOAD_MSG = 'Als u de pagina afsluit gaan de gegevens in uw karretje verloren';
SHOW_UNLOAD_MSG = true;
function doBeforeUnload() {
if (window.event) {
window.event.returnValue = UNLOAD_MSG;
} else {
return UNLOAD_MSG;
}
}
function sendForm() {
if (window.body) {
window.body.onbeforeunload = null;
} else {
window.onbeforeunload = null;
}
}
if (window.body) {
window.body.onbeforeunload = doBeforeUnload;
} else {
window.onbeforeunload = doBeforeUnload;
}
</script>
...
<form onsubmit="sendForm();" ...>
UNLOAD_MSG = 'Als u de pagina afsluit gaan de gegevens in uw karretje verloren';
SHOW_UNLOAD_MSG = true;
function doBeforeUnload() {
if (window.event) {
window.event.returnValue = UNLOAD_MSG;
} else {
return UNLOAD_MSG;
}
}
function sendForm() {
if (window.body) {
window.body.onbeforeunload = null;
} else {
window.onbeforeunload = null;
}
}
if (window.body) {
window.body.onbeforeunload = doBeforeUnload;
} else {
window.onbeforeunload = doBeforeUnload;
}
</script>
...
<form onsubmit="sendForm();" ...>