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

实现功能:

       
点击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>

---------------------

本文来自 shfongfeng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/shfongfeng/article/details/5985600?utm_source=copy

当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法的更多相关文章

  1. 服务器控件button点击时执行脚本弹出提示对话框Button2.Attributes.Add("onclick","事件")

    <HTML> <HEAD>  <title>**********资料更新</title>  <meta content="Microso ...

  2. 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码

    2013-9-15 1.    CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...

  3. Add an Item to the Navigation Control 将项目添加到导航控件

    In this lesson, you will learn how to add an item to the navigation control. For this purpose, the N ...

  4. js总结:onClick=“return confirm()”实现确认以及取消表单的提交

  5. Attributes.Add用途与用法

    Attributes.Add("javascript事件","javascript语句"); 如: this.TextBox1.Attributes.add(& ...

  6. e.Row.Attributes.Add

    其实看到属性这个单词,还有点发憷呢,C#里面有个关键词是Attributes, 搞了半天貌似没有弄清楚 e.Row.Attributes.Add()函数的介绍,包括参数,什么是Attributes 就 ...

  7. HTML 控件和web控件 OnClientClick和OnClick OnServerClick区别

      ^_^ 本来对html控件,服务器控件的知识模模糊糊的.今天特地查了相关的知识. 下面是我写代码总结的. 这些事件   主要用于在客户端执行验证,然后决定是否执行服务端事件   (没接触之前就为此 ...

  8. 线程间操作无效: 从不是创建控件“button1”的线程访问它。

    .net2后是不能跨线程访问控件的.,窗体上的控件是当前线程创建的,当用户异步执行一个方法:在该方法中给窗体上的控件赋值,记住:当执行一个异步委托的时候,其实 就是开了一个线程去执行那个方法,这样就会 ...

  9. js onclick="return test()"事件返回值,对有些事件,会影响默认动作的执行。如:onclick和onsubmit

    onclick="return test()"事件返回值,对有些事件,会影响默认动作的执行.如:onclick和onsubmit <body> <!--事件返回值 ...

随机推荐

  1. JAVA中的4种线程池的使用

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...

  2. nginx+tomcat负载均衡搭建

    一.      单独部署tomcat和nginx Nginx版本:nginx-1.13.5 Tomcat版本:apache-tomcat-8.5.8 操作系统:win10 必须先部署一个tomcat服 ...

  3. Spring的使用

    Spring的组成 1. Core模块 该模块是Spring的核心容器,它实现了Ioc模式和Spring框架的基础功能. 2. Context模块 该模块继承BeanFactory类,并添加了事件处理 ...

  4. plsql点击不再提示后需重新提示

    工具--首选项---用户界面---选项---DSA对话框---内容如下 ;显示含有“不再显示这个信息”的对话框;你可以删除用于你要启用的信息的行 CharSetMismatch@RIM40=1Char ...

  5. Mysql: 强制走索引:mysql between 日期索引 索引问题-日期索引使用

    Mysql: mysql between 日期索引 索引问题-日期索引使用 表结构: dep_date dep arr 联合索引: ind_coll_date_route  (dep_date ,de ...

  6. Application.messagebox对话框样式

    if Application.MessageBox('删除不能恢复,确认删除吗?', '删除提示', MB_OKCANCEL + MB_ICONQUESTION)=mrOk thenbegin Sho ...

  7. C++(二)— STL容器的基本用法

    1.vector基本操作 关于vector简单的讲就是一个动态增长的数组,里面有一个指针指向一片连续的内存空间,当空间装不下的时候会自动申请一片更大的空间(空间配置器)将原来的数据拷贝到新的空间,然后 ...

  8. 关于pyhton中的__xxx__格式的方法与变量的理解

    python中类似__xx__的方法和变量是python系统内定义的方法和变量,都是具有特殊意义的基础变量和方法,一般不要擅自使用,除非知道自己在干什么. 具体查看python内置模块builtins ...

  9. centos 6.7 (UDEV,、etc/hosts)安装 RAC 11.2.0.4 报错处理

    环境说明: ​db 11.2.0.4        os: centos 6.7    UDEV管理ASM      没有配置DNS服务器,采用/etc/hosts​报错: ​1.    CVU(Cl ...

  10. android获取时间差的方法

    本文实例讲述了android获取时间差的方法.分享给大家供大家参考.具体分析如下: 有些时候我们需要获取当前时间和某个时间之间的时间差,这时如何获取呢? 1. 引用如下命名空间: import jav ...