JS在onclientclick里如何控制onclick的执行

 更新时间:2016年05月30日 10:16:34   作者:sire168  
这篇文章主要介绍了JS在onclientclick里如何控制onclick的执行的相关资料,需要的朋友可以参考下

OnClientClick是客户端脚本,一般使用JavaScript,在客户端,也就是IE中运行,点击后马上执行

OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行。

若想先调用了OnClientClick后就不在调用OnClick事件,应在OnClientClick事件里返回false.若不返回false,在执行了OnClientClick后,会继续调用OnClick事件!

实现方法如下:

<asp:Button ID="btn_Save" runat="server" Text="保存" CssClass="button_bak" OnClientClick="return whetherEmpty();" OnClick="btn_Save_Click" />
//JavaScript实现如下:
<script language="javascript" type="text/javascript">
function whetherEmpty()
{
//alert("KPI信息不能全为空!");
emptflag = false ;
var kpiName = document.getElementById("<%=txt_KPIName.ClientID%>").value;
var jobgoal = document.getElementById("<%=txt_JobGoal.ClientID%>").value;
var weight = document.getElementById("<%=txt_Weight.ClientID%>").value;
var standard = document.getElementById("<%=txt_Standard.ClientID%>").value;
if (kpiName == "" && jobgoal == "" && weight =="" && standard =="")
{
emptflag = true ;
}
if (emptflag)
{
alert("KPI信息不能全为空!");
return false;
}
}
</script>

若是OnClientClick="return whetherEmpty();" 没有return ,在JavaScript里即使return fales,onclick依然会执行!

下面给大家介绍onclientclick和onclick区别

其实有的时候需要客户端和服务端双重校验,为什么这么说呢? 比果说,一个用户名的文本框,在客户端我们通过JS校验,只能输入字母和数字,不能有特殊字符!通常情况下是没有问题的,但是总有那么一丢丢人想方设法的去“搞破坏” ,这个时候就需要进行双重校验了!说白了,就是服务端和客户端都进么校验!

比如说:Button有:OnClick事件和OnClientClick属性,前者一般就是服务端的点击事件!后者则是客户端的点击事件!

我们来做一个测试!在Default.aspx页面中添加如下代码!

<script language="javascript" type="text/javascript">
function buttonClick() {
alert("我是客户端点击事件");
return false; 
}
</script> 

页面代码:

<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="些Button是服务端控件,默认使用OnClientClick事件,请禁用浏览器的Js功能体验"
OnClick="Button1_Click" OnClientClick="return buttonClick();" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form> 

cs文件代码:

protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = "我是服务端点击事件";
}

大家运行看看是什么效果? 你可能会发现,只弹出了JS中的代码! 没错,这正是我们想要的效果,通过return false 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!

相关文章

  • bootstrap treeview 树形菜单带复选框及级联选择功能

    bootstrap treeview 树形菜单带复选框及级联选择功能

    这篇文章主要介绍了bootstrap treeview 树形菜单带复选框及级联选择功能,代码超简单,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-06-06
  • JavaScript下利用fso判断文件是否存在的代码

    JavaScript下利用fso判断文件是否存在的代码

    JavaScript下利用fso判断文件是否存在的代码,需要的朋友可以参考下,这个一般需要运行确认的。
    2010-12-12
  • 微信小程序的WXSS和全局、页面配置详细讲解

    微信小程序的WXSS和全局、页面配置详细讲解

    WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,下面这篇文章主要给大家介绍了关于微信小程序WXSS和全局、页面配置的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • JavaScript requestAnimationFrame动画详解

    JavaScript requestAnimationFrame动画详解

    这篇文章主要为大家详细介绍了JavaScript requestAnimationFrame动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • JavaScript实现拖动滑块拼图验证功能(html5、canvas)

    JavaScript实现拖动滑块拼图验证功能(html5、canvas)

    这篇文章主要介绍了JavaScript实现拖动滑块拼图验证(html5、canvas),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • javascript获取表格 td 中的内容

    javascript获取表格 td 中的内容

    可以获取html table中的td中的内容。非常的不错。
    2009-07-07
  • js 下拉菜单点击旁边收起实现(踩坑记)

    js 下拉菜单点击旁边收起实现(踩坑记)

    这篇文章主要介绍了js 下拉菜单点击旁边收起实现(踩坑记),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • js+css实现全屏侧边栏

    js+css实现全屏侧边栏

    这篇文章主要为大家详细介绍了js+css全屏侧边栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • RxJS的入门指引和初步应用

    RxJS的入门指引和初步应用

    这篇文章主要介绍了RxJS的入门指引和初步应用,RxJS是一个强大的Reactive编程库,提供了强大的数据流组合与控制能力,但是其学习门槛一直很高,本次分享期望从一些特别的角度解读它在业务中的使用,而不是从API角度去讲解。,需要的朋友可以参考下
    2019-06-06
  • JS使用贪心算法解决找零问题示例

    JS使用贪心算法解决找零问题示例

    这篇文章主要介绍了JS使用贪心算法解决找零问题,简单描述了找零问题,并结合具体实例分析了javascript使用贪心算法解决找零问题的相关实现技巧,需要的朋友可以参考下
    2017-11-11

最新评论