I have an asp:Button
on my webpage, and it calls into a JavaScript function and a code-behind method. The latter makes a call to navigate to another page. In the JavaScript function, I'm checking for a condition. If this condition is not met, I want to abort the navigation so that the OnClick
method is not called. Is this possible?
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="SaveValues()"
Text="Action1" CssClass="specialButton" runat="server" />
To block OnClick
from executing, just return false
from OnClientClick
:
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="return SaveValues();"
Text="Action1" CssClass="specialButton" runat="server" />
Assuming that SaveValues
will also return a boolean whether or not the condition was met.
yes it is possible
function SaveValues()
{
if(//check your codition here)
{
return true;
}
else
{
return false;
}
}
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="javascript:return SaveValues();" Text="Action1" CssClass="specialButton" runat="server" />
Returning true
or false
, according to the success of the JavaScript, should prevent or enable the button to submit. So, instead of just tacking it on at the end of OnClientClick
, where you'd have to conditionalise it and immediately make your call look much more ugly, let the method indicate its operational status.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.