I just want to add some client side (JQuery Javascript) validation in a web user control. I put an OnClientClick handler and the function gets called. BUT, even if I return "false", the OnClick method always get fired. What am I doing wrong ?
I'm with VS 2010, targeting the 4.0 framework with JQuery 1.4.2. and JQuery UI 1.8.4.
Here's a sample code :
<td style="text-align:right"><asp:Button ID="btnAddSave" OnClientClick="return ValidateMail();" OnClick="btnAddSave_Click" runat="server" Text="Submit" /></td>
Script method :
function ValidateMail() {
alert("Bouton clicked");
return false;
}
If I put a breakpoint in the Page_Load event, I see that I get in and the btnAddSave_Click event is also executed.
Do you have a click event handler (registered via jquery) which returns true
? In that case, the return value of OnClientClick
is ignored.
Have a look at my question (and answer): Why doesn't returning false from OnClientClick cancel the postback
Try changing it to
OnClientClick="ValidateMail(); return false;"
for some reason, although I didn't have any jquery event handlers attached, it didn't work.
What actually worked was:
OnClientClick="if (validate_form() == false) return(false);"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With