我有一个dxo提交按钮。它有一个点击处理程序,里面有一些逻辑。 我的目标是通过将一些逻辑放入点击处理程序来有条件地阻止它提交。我尝试了很多JavaScript解决方案: 我在处理程序中尝试了event.preventDefault(),甚至尝试添加另一个单击处理程序并将逻辑放在其中但它似乎没有将该处理程序添加到按钮中。我也尝试过form.unpulish事件处理程序,但结果却相同。
更新:实际上我可以使用form.unpublish事件处理程序来完成此操作。但是,如果可能的话,我更愿意通过点击处理程序来完成。
任何人都知道如何解决这个问题吗?
答案 0 :(得分:0)
ASPxButton的客户端Click事件提供 e.processOnServer 参数。您可以将其设置为 False 以取消回发。请尝试以下方法:
<dxe:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton1" OnCommand="ASPxButton1_Command"
AutoPostBack="true" ClientInstanceName="ASPxButton1">
<ClientSideEvents Click="
function(s, e)
{
if (!confirm('add?'))
{
e.processOnServer = false;
}
}
}
" />
</dxe:ASPxButton>
<强>参考文献:强>
cancel postback with javascript on aspxbutton
How avoid the postback when click ASPXButton
how to prevent postback using the aspxbutton control with clientsideevnts
ASPxButton - Prevent a server postback in the client-side Click event handler