Why doesn’t returning false from OnClientClick cancel the postback

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(..))" rel="nofollow noreferrer noopener"
... >
  Delete
</a>

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

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:

<script>
$(document).ready(function() {
  $('a').click(function() {
    // ...
    return (someCondition == true);
  });
});
</script>

It seems this click-handler was called after the one registered by OnClientClick, and when this one returned true, then the postback occurred, independent of the result of the first click-handler (the confirm dialog).

Method 2

Here is something which worked for me.

<asp:LinkButton runat="server" OnClientClick="return (!confirmDelete()){return false;}" />

Javascript

    function confirmDelete(){
    if(something == true){
    return true;
    }
    else{
    return false;
    }
    }


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x