0

我有一个位于验证组中的按钮,当页面上的任何文本框未填写时,onClick 不会像预期的那样运行,但 OnClientClick 会运行。

 <asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="send" OnClick="sendNow"
    OnClientClick="document.getElementById('SendingMessage').style.visibility = 'visible'" />

有没有办法阻止 onclientclick 像带有验证组的 onClick 一样运行?

4

1 回答 1

1

onclick是服务器端事件。onclientclick是客户端 (javascript) 操作。在这种情况下,按钮被单击,因此 onclientclick 将执行。如果验证通过,浏览器将发布到表单并onclick执行事件。如果验证失败,则根据验证失败的位置会发生两种情况之一。

如果客户端验证失败,则永远不会向服务器发送请求。如果服务器上的验证失败,则表单已发布到服务器,但输入的验证失败并且onclick事件不会执行。

在您的情况下,您将希望在onclientclick验证用户输入的事件中添加一些客户端代码。如果验证返回 true,则继续运行脚本。如果验证失败,则不要。应该有一种方法可以绑定到客户端上的 webforms 验证。我不知道该怎么做。

于 2012-11-29T19:17:48.400 回答