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服务器端事件才被中止。

你可能感兴趣的:(asp.net)