Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

同一个页面用Js和服务器验证控件OnClientClick提交问题

Posted on 2008-11-19 10:38  billpeng  阅读(424)  评论(3编辑  收藏  举报
实现功能:
    
        点击Button按钮的OnClientClick事件,不会影响服务器验证控件的验证功能
                                                (验证不通过,则不提交服务器页面)

背景

       1. 在同一个页面有服务器验证控件(RegularExpressionValidator),多个
       2. 有Javascript函数,实现验证和其他功能
       3. Button按钮,有两个事件OnClick,OnClientClick
方法:

    HTML页面
     验证控件:

<asp:TextBox ID="txt_Test" runat="server" Width="120px" MaxLength="8"></asp:TextBox>
                        
<asp:RegularExpressionValidator ID="validator_Test" runat="server" ControlToValidate="txt_Test"
                            ErrorMessage
="数字" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>
    按钮:
<asp:ImageButton ID="btnPutin" runat="server" Text=" 提 交 " OnClick="btnPutin_Click"
                            OnClientClick
=" if(CheckClientValidate()) { return CheckNullValue()}" ImageUrl="../images/submit1.gif" />

    脚本:
<script type="text/javascript">    
//返回,服务器验证控件是否成功
//Author:  ADD by Aprillee at 2007-12-27
//Example: OnClientClick="if(CheckClientValidate()) { return CheckNullValue()}"
 function CheckClientValidate(){
        
       Page_ClientValidate();
       
if (Page_IsValid){
           
return true;
       }
else{
           
return false;
       }

     }

// 以下为自定义脚本功能
function CheckNullValue()
    
{
        alert(
'Test');
    }

 
</script>