Waarschijnlijk een simpel vraagje, maar kon het nog niet vinden op het forum. Ik zou graag willen dat na het indrukken van een submit-button een java-alert naar voren komt met de keuze om door te gaan of terug te keren en niks te doen. Als er doorgegaan moet worden, moet gewoon de code van de submit uitgevoerd worden (in mijn geval een query).
Wat is hier de makkelijkste code voor?
Groeten!
Bedankt voor de site, toch nog een vraagje...heb even de dingen van het voorbeeld hieronder gezet...

<?
if (confirm("Your question)) {
// do things if OK
}
?>

<?<form name=myform>
<input type=button value="Try it now"
onClick="if(confirm('Format the hard disk?'))
alert('You are very brave!');
else alert('A wise decision!')">
</form>
?>

Hoe moet ik dit nu precies inbouwen in een submit die ge-echoed wordt? Als er op 'ok' wordt gedrukt moet het script gewoon worden uitgevoerd (PHP_SELF) en als er op 'cancel' gedrukt wordt moet er teruggegaan worden naar een andere pagina (pagina.php voor het gemak).

Heb enkele dingen geprobeerd, maar nog niet gelukt...

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="submit" value="Ga!" onclick="if(!confirm('Weet je het zeker')) { window.location.href = 'index.php'; return false; }" />
</form>

Dit is eigenlijk een heel lelijk voorbeeldje, je kunt dit veel netter doen door de javascript in de <head> van je pagina op te nemen. Maar goed, dit werkt wel...
<?
echo "<input type='submit' name='submit' value='Document wijzigen' onclick='if(!confirm('Weet je het zeker')) { window.location.href ='pagina_wijzigen.php'; return false; } '></p>";
?>

Met of zonder aanhalingsteken, ik krijg een Parse error: syntax error, unexpected T_IF, expecting ',' or ';'

Hoe zet ik het in de goede volgorde?
Ik krijg hier geen parse error op, de fout zal dus ergens anders in je script zitten...

echo "<form method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . "\">"; 
echo "<input type='submit' name='submit' value='Document wijzigen' onclick='if(!confirm('Weet je het zeker')) { window.location.href ='pagina_wijzigen.php'; return false; }'></p>"; 
    echo "</form>";


Dit is (een deel van) het formulier, en het mooie is nu dat ik geen error meer krijg, maar de melding ook niet tevoorschijn komt...
@Blanche en Erik, er zit een error in de JavaScript zoals Erik hem echo't.

De onclick opent hij, maar die sluit die na het ( achter confirm.. ;) Dat gaat er dus ook niet goed:

<?
echo '<input type="submit" name="submit" value="Document wijzigen" onclick="if(!confirm(\'Weet je het zeker\')) { window.location.href =\'pagina_wijzigen.php\'; return false; } "></p>';
?>
Het was nog niet gelukt, en heb nog even verder gezocht. Heb nu een code gevonden waarin de functie apart staat en daarna wordt aangeroepen.


<script LANGUAGE="JavaScript">
<!--
function confirmSubmit()
{
var agree=confirm("Weet je zeker dat je deze actie uit wilt voeren?");
if (agree)
	return true ;
else
	return false ;
}
// -->
</script>


Dit werkt wel, en kan ik ook makkelijk includen samen met andere functies. Bedankt voor alle reacties!

Reageren