Asp.net 中在调用Button事件前用js对界面进行检查

我们Button的OnClick事件调用服务器端代码。使用OnClientClick事件调用客户端代码。代码如下:

<asp:Button ID="btnSave" runat="server" CssClass="btn" OnClick="btnSave_Click" Text="保 存" OnClientClick="return checkControl();" />

说明:btnSave_Click为服务器端保存事件。

    checkControl()为保存前在前端用js进行检查的js方法,js代码如下。

    function checkControl()
    {
        
var vApyName=document.getElementById("txbApyName").value;
        
if(vApyName.length<=0)
        {
            alert(
"'申请人姓名'不能为空!");
            document.getElementById(
"txbUrlList").focus();
            document.getElementById(
"txbUrlList").select();
            
return false;
        }
    }


注:

   为什么要在OnClientClick事件中加上return?

   因为开始时,我并没有加上return语句,发现执行完js方法后仍然执行后台的click事件。原来的代码如下:

<asp:Button ID="btnSave" runat="server" CssClass="btn" OnClick="btnSave_Click" Text="保 存" OnClientClick="checkControl();" />


总结:

  用 OnClientClick验证我们的提交数据时,一定要返回ture或者false,即一定要加上return,否则OnClick失效。 当返回false时OnClick服务器端事件才被中止。

原文地址:https://www.cnblogs.com/scottckt/p/1581671.html