I have a LinkButton
where I use the OnClientClick
property to ask the user whether he really wants to perform an action, e.g:
<script>
function confirmDelete() {
return confirm('Do you really want to delete?');
}
</script>
<asp:LinkButton runat="server" OnClientClick="return confirmDelete()" ... />
This pattern usually works, but on this specific page, it doesn't. No matter whether I click OK or Cancel in the confirm dialog, the postback is executed.
Just for completeness (to answer pst's question): the rendered HTML is OK. E.g. it looks like this:
<a id="ctl00_c1_content_btnDelete" onclick="return confirmDelete();"
href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(..))"
... >
Delete
</a>
Here is something which worked for me.
Javascript
The reason for the behavior was another piece of javascript, where a handler for the link(button)'s click event was registered via jquery, e.g. something similar to this:
It seems this click-handler was called after the one registered by
OnClientClick
, and when this one returnedtrue
, then the postback occurred, independent of the result of the first click-handler (the confirm dialog).