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


Posted in Javascript onMay 30, 2016

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 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!

Javascript 相关文章推荐
javascript 播放器 控制
Jan 22 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
详解JavaScript对象和数组
Dec 03 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
Jan 19 Javascript
基于javascript简单实现对身份证校验
Jan 25 Javascript
老生常谈遮罩层 滚动条的问题
Apr 29 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
基于AngularJS实现的工资计算器实例
Jun 16 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
webpack4.x下babel的安装、配置及使用详解
Mar 07 Javascript
Ant Design的Table组件去除
Oct 24 Javascript
JS获取复选框的值,并传递到后台的实现方法
May 30 #Javascript
值得分享的轻量级Bootstrap Table表格插件
May 30 #Javascript
js获取所有checkbox的值的简单实例
May 30 #Javascript
一览画面点击复选框后获取多个id值的方法
May 30 #Javascript
js判断复选框是否选中及选中个数的实现代码
May 30 #Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 #Javascript
限制复选框最多选择项的实现代码
May 30 #Javascript
You might like
php一些公用函数的集合
2008/03/27 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
Python实现高效求解素数代码实例
2015/06/30 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
python感知机实现代码
2019/01/18 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
医院办公室主任职责
2013/12/29 职场文书
校园绿化美化方案
2014/06/08 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
学习心理学的体会
2014/11/07 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
Python Pandas常用函数方法总结
2021/06/15 Python
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python