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