Hallo ik ben op zoek naar een stuk PHP en/of JS, waarmee ik kan voorkomen dat mensen per ongeluk van de pagina af gaan (de pagina betreft een lang formulier)
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!
Ik snap niet precies wat je nu wilt.
@Hipska, excuses voor mijn woorden, ik had geen idee dat er browsers waren die dat uit zichzelf deden, ik dacht dat je het sarcastisch bedoelde. Nogmaals Excuses.
@Jonathan, Bedankt voor de code, ik ga het nu even proberen!

[EDIT]
@ Jonathan. De code werkt, maar nu is er nog 1 héél klein dingetje: hij blijft de melding geven wanneer het formulier al verzonden is (je krijgt daar een melding van) en dan weer gewoon naar een andere pagina probeert te gaan... Er zal wel weer een simpele functie zijn om dat op te lossen maar ik heb totaal geen verstand van JS... iemand nog een idee om dat nog op te lossen? Dan werkt het namelijk helemaal...

@henk
Henk schreef op 05.01.2010 17:10
Ik snap niet precies wat je nu wilt.

Ik ben bezig met een inschrijfformulier, maar nou wil ik ervoor zorgen dat je de pagina niet 'per ongeluk' kan sluiten, hoe vergezocht dat dan ook mag klinken. Daarom wil een foutmelding als je dat wel doet.
@Leon

Heb je in je form wel onsubmit="sendForm();" staan?
@Henk
Ik heb dat er gewoon instaan, maar het heeft misschien te maken met als de Form Action is uitgevoerd dat ik de js niet goed meer toevoeg... kan het zijn dat ik de JS moet echoën samen met het bericht dat het inschrijfformulier verzonden is. Al is het wel zo dat ik de JS boven de pagina heb en niet in een if of else... Gewoon helemaal bovenaan... Iemand nog suggesties?
lol wat een ongelovelijk grappig topic. eerst zegt de grapjas geen js te willen gebruiken, dan komt hij aankakken met een sollution van iemand. rara, javascript. haha. En dan nog de opmerkingen die php willen gebruiken. newsflash: php is server side. verbinding is er NIET zodra de html pagina gedownload is *ja inderdaad je download websites, niks is live, laat je niet bedriegen*

Ontopic dan maar...

onbeforeunload, me een confirm. Check ook de toetscombinaties, zodat je ook ctrl+w, alt+f4, etc kan opvangen... en ofc, een <noscript> sectie.
@ Wesley
Ik heb nooit gezegt geen JS te gaan gebruiken, ik heb gezegd dat als het met PHP ook werkt ik dat ging gebruiken, blijkt achteraf niet te kunnen, sorry hoor. Ik zit toch op dit forum om ook wat bij te leren? Asside,
Als ik <noscript></noscript> neerzet in de echo van de melding dat het gelukt is, zou 'ie het moeten doen?
[EDIT] Dat werkt dus niet...
Iemand nog een idee om te zorgen dat hij de JS gaat negeren zodra er op Submit geklikt is?
Geef eens je wat je tot nu toe hebt.
<?
<script type="text/javascript">
UNLOAD_MSG = 'Als u de pagina afsluit gaan de ingevulde gegevens verloren zonder verzonden te worden. Weet u dit zeker?';
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>
#PHP Afsluiten (voor het gemak maar ff weggelaten)

# Controleren of het formulier verzonden is.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# Hier alle $sleutels en dat soort dingen

# Hier de INSERT voor de Database ( het blijft een formulier he? )
echo 'Inschrijvingsformulier verzonden!';
}

else

{
# En hier weer...
<form action="?p=inschrijven" method="post" onsubmit="sendForm();">
# Form met alle Input's en dat soort dingen
</form>

?>

[EDIT] Het duurde even maar hier is hij
Iemand die nog iets weet?
Hallo?

Reageren