我在 ASP.NET 中创建了一个应用程序,并使用 JavaScript 来验证字段是否为空;调用 ASP.NET 按钮控件的 onClientClick 事件验证函数,并使用 onClick 事件进行服务器端处理。
在这里,我附上了 javascript: 验证函数
function validate() {
if (document.getElementById("<%=txt_msn.ClientID%>").value == "") {
alert("Membership number can not be blank; Fill all fields marked as *");
document.getElementById("<%=txt_msn.ClientID%>").focus();
return false;
}
return true;
}
在这里,我在 ASP.NET Control 下调用该函数
<asp:Button ID="btn_save_pi" runat="server"
Text="Save" OnClientClick="return validate()" OnClick="btn_save_pi_click" />
现在我观察到,当验证函数返回 false 时,它会执行服务器端方法,即 onclick 事件,但在返回 true 时它什么也不做。但是当我切换返回值时,意味着在空字段上返回 true 而在非空字段上返回 false,那么它工作正常。
我很困惑为什么它会这样。它应该像我上面写的那样行事,即在错误返回时不做任何事情,在真正返回时执行服务器端处理。
请解释一下,这也将帮助我开发进一步的应用程序。