Vraagje over php/javascript.

Ik heb een berichten systeem gemaakt en ik bied de gebruiker de mogelijk om berichten te verwijderen.

als de gebruiker op de verwijder button klikt dan krijgt hij een melding te zien "Weet je zeker dat je dit bericht wilt verwijderen ?" tot zo ver gaat alles goed.. als ik dan op ok klik gaat hij naar de pagina om het bericht te verwijderen en als ik op annuleren klik ook, maar dat moet juist niet.

heeft iemand een idee hoe dit kan ?

function verwijderen()

{

var conf = confirm ("Weet u zeker dat u dit bericht wilt verwijderen ?");

if (conf == true)
{
window.location = "http://website/berichtverwijderen.php";
}else

{

return false;


}

}
</script>


echo "<td><button><a href = 'berichtverwijderen.php?id=$ID' onclick= 'verwijderen()'>Verwijderen</a></button></td>";
Een functie is bedoeld om code te hergebruiken.

Daartoe moet deze wel enigszins generiek zijn.

Een manier om deze generiek(er) te maken is door deze te voorzien van parameters.

Een mogelijke parameter voor een bevestingscheck is een bevestigingsboodschap.

Daarnaast moeten de waarden van alle properties van HTML tags te allen tijde tussen "dubbele quotes" staan.

Ik weet overigens niet of een hyperlink binnen een button een geldige constructie is.

Een link wordt gevolgd als de return-value van het onclick event true is.

Ook hoef je niet nodeloos een hele zwik HTML te echo'en, je kunt volstaan met het echo'en van de dynamische delen.

Functie:

<script type="text/javascript">
//<![CDATA[
function confirmMe(message) {
    return confirm(message);
}
//]]>
</script>


(en omdat dit zo weinig code is zou je dit ook direct inline kunnen doen...)

HTML:
<a href="whatever.php?id=<?php echo $ID ?>" onclick="return confirmMe('Weet je dit zeker?')">verwijderen</a>


noot: als je op deze link klikt met je middelste muisbutton (of een knop die zo geprogrammeerd is dat de link in een nieuw venster wordt geopend) dan wordt deze bevestiging OVERGESLAGEN en wordt het item zonder bevestiging verwijderd.
Bedankt voor je reactie Thomas. Het is inmiddels gelukt!

Reageren