0

我有一个按钮,当用户单击它并且某些字段不正确时,将显示一条消息。我想用 javascript 进行验证(或者也许有一天我会),但我不知道如何做到这一点。目前当用户点击按钮时,服务器端的onclick函数不会被执行。

4

3 回答 3

1

只需使用<asp:Validator标签;有许多不同类型的验证器,例如必填字段验证器、正则表达式验证器等。

他们将验证客户端代码和服务器端代码中的数据(除非您禁用客户端检查,您可以这样做)。

这比在 javascript 中手动验证内容并在服务器端代码中手动验证它要容易得多

不过,从技术上讲,要回答您的问题,当您有onclick一个提交按钮的 javascript 处理程序时,返回值作为布尔值指示是否应提交表单,因此您只需要return false在数据无效时不提交表格。

<asp:Button Text="Submit" OnClientClick="return Validate();" />
<script type="text/Javascript">
    function Validate()
    {
        if(requiredFieldAIsMissing)  return false;

        return true;
    }
</script>
于 2013-02-27T17:45:36.447 回答
0

怎么样:

<asp:Button ID="myButton" Text="Click Me!" OnClick="myButton_OnClick" OnClientClick="javascript:confirm('Really?')" />

OnClientClick属性发出 javascript(在处理回发所需的 javascript 之前),如果您false从该事件返回,则该事件的其余部分将被取消并且回发不会触发。

于 2013-02-27T17:46:26.750 回答
0

我认为下面的内容可以帮助您理解。

HTML:

 <asp:textbox id="myText" runat="server" text="Hello" />
 <asp:button id="myButton" runat="server" text="Click Me" OnClick="Server_Event" />

ON Page_Load:

//Add onclick with return here
myButton.Attributes.Add("onclick","return ButtonClicked()");

Javascript:

function ButtonClicked(){
   var txt = document.getElementById("myText");
   if(txt.value != "Hello"){
      alert("It is not Hello, I am NOT posting back!");
      return false;
   } else {
      alert("It is Hello, I am posting back!");
      return true;
   }
}
于 2013-02-27T17:56:33.577 回答