成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Javascript實現(xiàn).NET驗證控件功能

開發(fā) 前端
本文將談?wù)勈褂肑avascript實現(xiàn).NET驗證控件功能,用以處理當我們選擇checkbox時,希望驗證一個控件,取消選擇,隱藏并取消驗證這個控件的問題。

在我們平時經(jīng)常會遇到這樣的一個問題:當我們選擇checkbox時,希望驗證一個控件,取消選擇,隱藏并取消驗證這個控件。如果完全使用服務(wù)器事件來實現(xiàn)此功能,肯定用戶體現(xiàn)不好,所以我們可以使用javascript實現(xiàn).net驗證控件功能。

首先我們看看.NET驗證控件,在頁面上做了什么事情。

  1. <asp:TextBoxIDasp:TextBoxID="txtValidator"runat="server"></asp:TextBox> 
  2. <asp:RequiredFieldValidatorIDasp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"  
  3. ControlToValidate="txtValidator"ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> 

在頁面上解析成:

  1. <inputnameinputname="txtValidator"type="text"id="Text1"/> 
  2. <spanidspanid="Span1"style="color:Red;visibility:hidden;">RequiredFieldValidator</span> 

驗證控件在頁面變?yōu)榱艘粋€隱藏的span,需要驗證的時候,進行顯示。

同時頁面上出現(xiàn)了一些用于驗證的腳步

  1. <scripttypescripttype="text/javascript"> 
  2. //<![CDATA[  
  3. //驗證控件的集合,當添加一個驗證控件的時候,就會多一個item  
  4. varPage_Validators=newArray(document.getElementById("RequiredFieldValidator1"));  
  5. //]]> 
  6. </script> 
  7. <scripttypescripttype="text/javascript"> 
  8. //<![CDATA[  
  9. varRequiredFieldValidator1=document.all?document.all["RequiredFieldValidator1"]:document.getElementById("RequiredFieldValidator1");//找到驗證控件  
  10. RequiredFieldValidator1.controltovalidate="txtValidator";//綁定需要驗證的控件  
  11. RequiredFieldValidator1.errormessage="RequiredFieldValidator";//顯示未驗證通過的錯誤信息  
  12. RequiredFieldValidator1.evaluationfunction="RequiredFieldValidatorEvaluateIsValid";//用于驗證的方法  
  13. RequiredFieldValidator1.initialvalue="";  
  14. //]]> 
  15. </script> 
  16. <scripttypescripttype="text/javascript"> 
  17. //<![CDATA[  
  18. varPage_ValidationActive=false;  
  19. if(typeof(ValidatorOnLoad)=="function"){  
  20. ValidatorOnLoad();  
  21. }  
  22. functionValidatorOnSubmit(){  
  23. if(Page_ValidationActive){  
  24. returnValidatorCommonOnSubmit();  
  25. }  
  26. else{  
  27. returntrue;  
  28. }  
  29. }  
  30. //]]> 
  31. </script> 

我們通過構(gòu)造類似的腳本進行控件驗證

添加驗證span

  1. <asp:CheckBoxIDasp:CheckBoxID="cbSelect"runat="server"Text="選擇"onclick="ajusSelectValidator(this,'spantxtUserName')"/> 
  2. <asp:TextBoxIDasp:TextBoxID="txtUserName"runat="server"></asp:TextBox> 
  3. <spanidspanid="spantxtUserName"style="color:Red;display:none;">

該項不能為空</span>//添加span,用于顯示驗證信息

添加腳本

  1. <scriptlanguagescriptlanguage="javascript"type="text/javascript"> 
  2. varIsSelectID='<%=cbSelect.ClientID%>';  
  3. vartxtUserName='<%=txtUserName.ClientID%>';  
  4. functionajusSelectValidator(checkbox,validatorID){  
  5. ajustValidator(checkbox,validatorID,txtUserName);  
  6. }  
  7. </script> 
  8. //Validator.Js  
  9. functionajustValidator(checkbox,validatorID,controltoHideID){  
  10. if(checkbox.checked){  
  11. register(validatorID,controltoHideID);  
  12. document.getElementById(controltoHideID).style.visibility="visible";  
  13. }  
  14. else{  
  15. removeValidator(validatorID);  
  16. document.getElementById(controltoHideID).style.visibility="hidden";  
  17. }  
  18. }  
  19. //添加驗證關(guān)聯(lián)  
  20. functionregister(validatorID,controltoValidateId){  
  21. Page_Validators.push(document.getElementById(validatorID));  
  22. varspan=document.getElementById(validatorID);  
  23. spanTest.controltovalidate=controltoValidateId;  
  24.  
  25. span.errormessage="*該項不能為空";  
  26. span.display="Dynamic";  
  27. span.evaluationfunction="RequiredFieldValidatorEvaluateIsValid";  
  28. span.initialvalue="";  
  29. //spanTest.style.visibility="visible";  
  30. ValidatorOnLoad();  
  31. }  
  32. //取消驗證關(guān)聯(lián)  
  33. functionremoveValidator(validatorID){  
  34. varvalidator=document.getElementById(validatorID);  
  35. if(validator){  
  36. for(vari=0;i<Page_Validators.length;i++){  
  37. if(Page_Validators[i]==validator){  
  38. Page_Validators.splice(i,1);  
  39. i--;  
  40. }  
  41. }  
  42. validator.style.display="none";  
  43. ValidatorOnLoad();  
  44. }  

PS:如果頁面上沒有驗證控件的話,直接執(zhí)行上面的代碼會出錯的,因為Page_Validators為null,直接往里面push為拋異常。所以用的時候,要加一個驗證的控件。

【編輯推薦】

  1. jQuery調(diào)用WCF服務(wù)傳遞JSON對象
  2. JavaScript解析Json字符串 眾瀏覽器性能比較
  3. Services_JSON 1.0.0版發(fā)布
  4. 使用JSONP解決跨域數(shù)據(jù)訪問問題
  5. JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換
責任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-08-04 15:20:59

ASP.NET數(shù)據(jù)驗證數(shù)據(jù)驗證控件

2010-01-19 10:03:35

VB.NET Labe

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-04 17:41:10

ASP.NET數(shù)據(jù)驗證

2009-08-07 14:40:36

RegularExprASP.NET驗證控件

2009-10-16 16:01:07

VB.NET實現(xiàn)疊代使

2009-07-21 15:50:47

ASP.NET控件JavaScript

2021-03-12 10:01:24

JavaScript 前端表單驗證

2013-08-26 17:41:43

JavaScriptWindows 8.1

2009-07-15 18:25:52

ASP.NET控件數(shù)組

2009-07-29 13:32:06

ASP.NET控件使用

2009-12-22 16:35:11

ADO.NET控件

2009-07-24 15:35:00

ASP.NET Gri

2009-10-13 15:09:19

VB.NET使用Tre

2009-10-16 14:07:18

VB.NET使用Mon

2009-08-07 10:34:56

ASP.NET控件開發(fā)

2009-07-29 15:17:42

驗證控件ASP.NET1.1ASP.NET2.0

2009-08-04 15:36:16

2009-07-31 10:01:08

Button與驗證控件ValidatorGr

2009-09-03 13:34:03

.NET自定義控件
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品电影 | 成人国产午夜在线观看 | 久久久亚洲一区 | 在线观看深夜视频 | 天天草天天| 激情久久网 | 精品国产一区二区三区久久 | 91视频88av| 日韩综合在线视频 | 日本精品免费在线观看 | 一级片网址 | 九九久久在线看 | 日本不卡一区二区三区 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 日韩在线视频免费观看 | 东京久久 | 日韩成人在线电影 | 成人欧美一区二区三区黑人孕妇 | 九九久久精品 | 精品在线一区 | 欧美日韩在线一区二区 | 国产精品亚洲视频 | 国产在线观看一区 | 成人精品一区二区三区中文字幕 | 亚洲视频免费在线看 | 婷婷综合在线 | 久草影视在线 | 国产精品一区网站 | 一区二区三区高清 | 国产精品乱码一二三区的特点 | 亚洲在线一区 | 4hu最新网址| 国产成人免费网站 | 亚洲精品免费在线观看 | 久久久亚洲一区 | 99在线免费观看视频 | 一区二区三区视频免费看 | 国产一区二区自拍 | 国产成人精品一区二区 | 久久久久久国产 | 国内激情av片 |