国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 09:51:35
字體:
來源:轉載
供稿:網友

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 來"屏蔽"服務端的校驗!好處是什么? 就是不用刷新頁面呀!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商城县| 万源市| 永顺县| 鄂托克前旗| 六枝特区| 濮阳市| 蒲江县| 凌海市| 巴塘县| 涪陵区| 灵武市| 巴林右旗| 赣州市| 灵寿县| 墨玉县| 松潘县| 沅陵县| 隆回县| 三亚市| 南平市| 手游| 丁青县| 无极县| 新化县| 同心县| 阿荣旗| 阿坝县| 于田县| 峨边| 永康市| 聂荣县| 改则县| 阿克苏市| 金昌市| 阿尔山市| 温州市| 牙克石市| 桐梓县| 邓州市| 宁晋县| 西峡县|