JavaScript使用技巧精萃

  1.  (一).确认删除用法: 
  2.   1.BtnDel.Attributes.Add("onclick","if(confirm('"+"确认删除?"+"')){return false;}");  
  3.   2. linktempDelete.Attributes["onclick"]="javascript:return  confirm('"+"确认删除?"+"');"
  4.   3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e) 
  5.   4. 
  6.   { 
  7. if ((e.Item.ItemType == ListItemType.Item) ¦ (e.Item.ItemType == ListItemType.AlternatingItem)) 
  8.   // 刪除按鈕上的提示部分 
  9.   e.Item.Cells[10].Attributes.Add("onclick""return confirm('确定删除吗?');"); 
  10. }  
  11.   } 
  12.   5. 
  13.     <script language="JavaScript" type="text/JavaScript"
  14. function delete_y(e) 
  15.         { 
  16.     if(event.srcElement.outerText == "删除"
  17.         event.returnValue=confirm("确定删除?"); 
  18. document.onclick=delete_y; 
  19.     </script> 
  20. (二).跨语言字符串替换 
  21.     System.Text.RegularExpressions.Regex.Replace(str1,@" <{1}[^ <>]*>{1}","").Replace(" ","").Replace("/","//").Replace("-","-").Replace("&","").Replace("<"," <").Replace(">",">").Replace("br","/n"); 
  22. (三).关闭窗体 
  23.   1. 
  24.       this.btnClose.Attributes.Add("onclick",  "window.close();return false;"); 
  25.   2.关闭本窗体间跳转到另一个页面 
  26.       this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign 
  27.         ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();"; 
  28.   3.关闭父窗体: 
  29.       <INPUT type="reset" value=' <%=this._Cancel%>' onclick="window.parent.close()"  Class="Button"
  30.   4.关闭本弹出窗体,并刷新父页面 
  31.       this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>"); 
  32. (四).Web MessageBox  
  33.   1. 
  34.       Response.Write(" <script language=javascript> window.alert('保存成功1'); </script>"); 
  35.   2. 
  36.       Response.Write(" <script>alert('"+"保存成功!"+"'); </script>"); 
  37.   3. 
  38.       this.Page.RegisterStartupScript("ChiName"," <script language='javascript'>alert('" + "保存成功!" + "') </script>"); 
  39. (五).DataGrid中加CheckBox控件模板列. 
  40.   请看:  http://blog.youkuaiyun.com/chengking/archive/2005/10/08/497520.aspx 
  41. (六). window.open() 方法 
  42. 语法:window.open(pageurl,name,parameters); 
  43. window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数:        pageurl指定。系统能够根据参数:name确定的名称访问该窗口。 
  44.         下表为parameters参数表: 
  45.         参数          衩始值          说明 
  46.         alwaysLowered yes/no 指定窗口隐藏在所有窗口之下。 
  47.         alwaysRaised yes/no 指定窗口浮在所有窗口之上。 
  48.         dependent yes/no 指定打开的窗口为父窗口的一个了窗口。并随父窗口的关闭而关闭。 
  49.         directions yes/no 指定Navigator 2和3的目录栏是否在新窗口中可见。 
  50.         height pixel value 设定新窗口的像素高度。 
  51.         hotkeys yes/no 在没有菜单栏的新窗口设置安全退出热键。 
  52.         innerHeight pixel value 设置新窗口中文档的像素高度。 
  53.         innerWidth pixel value 设置新窗口中文档的像素宽度。 
  54.         location yes/ no 指明位置栏在新窗口中是否可见。 
  55.         menubar yes /no 指明菜单栏在新窗口中是否可见。 
  56.         outerHeight pixel value 设定窗口(包括装饰边框)的像素高度。 
  57.         outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度。 
  58.         resizable yes /no 指明新窗口是否可以调整。 
  59.         screenX pixel value 设定新窗口离屏幕边界的像素长度。 
  60.         screenY pixel value 设定新窗口离屏幕上边界的像素长度。 
  61.         scrollbars yes /no 指明滚动栏在新窗口中是否可见。 
  62.         titlebar yes /no 指明菜单题目栏在新窗口是否可见。 
  63.         toolbar yes /no 指明工具栏在新窗口中是否可见。 
  64.         Width pixel value 设定窗口的像素宽度。 
  65.         z-look yes /no 在文档中包含各个 <pplet>标签的数组。 
  66.         fullscreen yes / no 打开的窗体是否进行全屏显示 
  67.         left pixel value 设定新窗口距屏幕左方的距离 
  68.         top pixel value 设定新窗口距屏幕上方的距离 
  69.   
  70.       例子: 
  71.         <html> 
  72.           <head> 
  73.               <title>window.open函数 </title> 
  74.           </head> 
  75.           <body> 
  76.               <script language="javascript"
  77.                   <!-- 
  78.                 window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); 
  79.                     //--> 
  80.               </script> 
  81.           </body> 
  82.         </html> 
  83. (七).location对象    
  84.     href 整个URL字符串. 
  85.     protocol 含有URL第一部分的字符串,如http: 
  86.     host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ 
  87.     hostname 包含URL中主机名的字符串.如http://www.cenpok.net 
  88.     port 包含URL中可能存在的端口号字符串. 
  89.     pathname URL中"/"以后的部分.如~list/index.htm 
  90.     hash "#"号(CGI参数)之后的字符串. 
  91.     search "?"号(CGI参数)之后的字符串. 
  92. (八).按键捕捉 
  93.   1.Ctrl+Enter按键捕捉方法 
  94.     <body onkeydown="doKeyDown()"
  95.     <script language="JavaScript"
  96.     <!-- 
  97.     function doKeyDown() 
  98.     { 
  99.         if (event.ctrlKey && event.keyCode == 13) 
  100.         { 
  101.           alert("You pressed the Ctrl + Enter"
  102.         } 
  103.     } 
  104.     //--> 
  105.     </script> 
  106.     </body> 
  107.   2.Alt加快捷键: Alt+A 
  108.     <button accessKey=A title="Alt+A" onclick="alert('Button clicked!')">Alt+A </button> 
  109. (九).控制输入,非法字符不能输入到TextBox. 
  110.     <asp:textbox class="Text" 
  111.         onkeypress="if (event.keyCode < 48 ¦ ¦ event.keyCode >57) event.returnValue = false;" 
  112. id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"
  113.     </asp:textbox> 
  114.     说明: 此方法控制TextBox只收数字:0~9 , 也自可以定义其它可输入字符,如改成: 65~123,只允许输入: a~z和A~Z 等. 
  115. [以下为收藏] 
  116. 1>屏蔽功能类 
  117. 1.1 屏蔽键盘所有键 
  118. <script language="javascript"
  119. <!-- 
  120. function document.onkeydown(){ 
  121.   event.keyCode = 0; 
  122.   event.returnvalue = false
  123. --> 
  124. </script> 
  125. 1.2 屏蔽鼠标右键 
  126. 在body标签里加上oncontextmenu=self.event.returnvalue=false 
  127. 或者 
  128. <script language="javascript"
  129. <!-- 
  130. function document.oncontextmenu() 
  131.   return false
  132. --> 
  133. </script> 
  134. function nocontextmenu() 
  135.     if(document.all) { 
  136.         event.cancelBubble=true
  137.         event.returnvalue=false
  138.         return false
  139.     } 
  140. 或者 
  141. <body onmousedown="rclick()" oncontextmenu= "nocontextmenu()"
  142. <script language="javascript"
  143. <!-- 
  144. function rclick() 
  145.     if(document.all) { 
  146.         if (event.button == 2){ 
  147.             event.returnvalue=false
  148.         } 
  149.     } 
  150. --> 
  151. </script> 
  152. 1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键 
  153. <script language="javascript"
  154. <!-- 
  155.   //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键 
  156. function window.onhelp(){return false//屏蔽F1帮助 
  157. function KeyDown(){ 
  158.   if ((window.event.altKey)&& 
  159.       ((window.event.keyCode==37) ¦ ¦  //屏蔽 Alt+ 方向键 ← 
  160.       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
  161.     alert("不准你使用ALT+方向键前进或后退网页!"); 
  162.     event.returnvalue=false
  163.     } 
  164.     /* 注:这还不是真正地屏蔽 Alt+ 方向键, 
  165.     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放, 
  166.     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 
  167.     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/ 
  168.   if ((event.keyCode == 8) && 
  169.       (event.srcElement.type != "text" && 
  170.       event.srcElement.type != "textarea" && 
  171.       event.srcElement.type != "password") ¦ ¦          //屏蔽退格删除键  
  172.       (event.keyCode==116) ¦ ¦                            //屏蔽 F5 刷新键 
  173.       (event.ctrlKey && event.keyCode==82)){            //Ctrl + R 
  174.     event.keyCode=0; 
  175.     event.returnvalue=false
  176.     } 
  177.   if ((event.ctrlKey)&&(event.keyCode==78))  //屏蔽 Ctrl+n 
  178.     event.returnvalue=false
  179.   if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 
  180.     event.returnvalue=false
  181.   if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
  182.       window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页 
  183.   if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4 
  184.       window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); 
  185.       return false;} 
  186.   } 
  187. /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单 
  188. 第一种方法: 
  189.   window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0") 
  190. 第二种方法是打开一个全屏的页面: 
  191.   window.open("你的.asp", "", "fullscreen=yes") 
  192. */ 
  193. //--> 
  194. </script> 
  195. 1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键 
  196. <script language=javascript> 
  197. function window.onbeforeunload() 
  198.   if(event.clientX>document.body.clientWidth&&event.clientY <0 ¦ &brvbarevent.altKey) 
  199.   { 
  200.     window.event.returnvalue = ""
  201.   } 
  202. </script> 
  203. 或者使用全屏打开页面 
  204. <script language="javascript"
  205. <!-- 
  206. window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no"); 
  207. --> 
  208. </script> 
  209. 注:在body标签里加上onbeforeunload="javascript:return false"(使不能关闭窗口) 
  210. 1.5屏蔽F5键 
  211. <script language="javascript"
  212. <!-- 
  213. function document.onkeydown() 
  214.     if ( event.keyCode==116) 
  215.     { 
  216.         event.keyCode = 0; 
  217.         event.cancelBubble = true
  218.         return false
  219.     } 
  220. --> 
  221. </script> 
  222. 1.6屏蔽IE后退按钮 
  223. 在你链接的时候用 <a href="javascript:location.replace(url)"
  224. 1.7屏蔽主窗口滚动条 
  225. 在body标签里加上 style="overflow-y:hidden" 
  226. 1.8 屏蔽拷屏,不断地清空剪贴板 
  227. 在body标签里加上onload="setInterval('clipboardData.setData(/'Text/',/'/')',100)" 
  228. 1.9 屏蔽网站的打印功能 
  229. <style> 
  230. @media print { 
  231.   * { display: none } 
  232. </style> 
  233. 1.10 屏蔽IE6.0 图片上自动出现的保存图标 
  234. 方法一: 
  235. <META HTTP-EQUIV="imagetoolbar" CONTENT="no"
  236. 方法二: 
  237. <img galleryimg="no"
  238. 1.11 屏蔽页中所有的script 
  239. <noscrript> </noscript> 
  240. 2>表单提交验证类 
  241. 2.1 表单项不能为空 
  242. <script language="javascript"
  243. <!-- 
  244. function CheckForm() 
  245. if (document.form.name.value.length == 0) { 
  246.   alert("请输入您姓名!"); 
  247.   document.form.name.focus(); 
  248.   return false
  249.   return true
  250. --> 
  251. </script> 
  252. 2.2 比较两个表单项的值是否相同 
  253. <script language="javascript"
  254. <!-- 
  255. function CheckForm() 
  256. if (document.form.PWD.value != document.form.PWD_Again.value) { 
  257.   alert("您两次输入的密码不一样!请重新输入."); 
  258.   document.ADDUser.PWD.focus(); 
  259.   return false
  260.   return true
  261. --> 
  262. </script> 
  263. 2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 
  264. <script language="javascript"
  265. <!-- 
  266. function isNumber(String) 
  267.     var Letters = "1234567890-"//可以自己增加可输入值 
  268.     var i; 
  269.     var c; 
  270.       if(String.charAt( 0 )=='-'
  271. return false
  272.       if( String.charAt( String.length - 1 ) == '-' ) 
  273.           return false
  274.     for( i = 0; i < String.length; i ++ ) 
  275.     { 
  276.           c = String.charAt( i ); 
  277.   if (Letters.indexOf( c ) < 0) 
  278.           return false
  279.     return true
  280. function CheckForm() 
  281.     if(! isNumber(document.form.TEL.value)) { 
  282.   alert("您的电话号码不合法!"); 
  283.         document.form.TEL.focus(); 
  284.         return false
  285. return true
  286. --> 
  287. </script> 
  288. 2.4 表单项输入数值/长度限定 
  289. <script language="javascript"
  290. <!-- 
  291. function CheckForm() 
  292.     if (document.form.count.value > 100 ¦ ¦ document.form.count.value < 1) 
  293. alert("输入数值不能小于零大于100!"); 
  294. document.form.count.focus(); 
  295. return false
  296.     if (document.form.MESSAGE.value.length <10) 
  297. alert("输入文字小于10!"); 
  298. document.form.MESSAGE.focus(); 
  299. return false
  300. return true
  301. //--> 
  302. </script> 
  303. 2.5 中文/英文/数字/邮件地址合法性判断 
  304. <SCRIPT LANGUAGE="javascript"
  305. <!-- 
  306. function isEnglish(name) //英文值检测 
  307. if(name.length == 0) 
  308.   return false
  309. for(i = 0; i < name.length; i++) { 
  310.   if(name.charCodeAt(i) > 128) 
  311.   return false
  312. return true
  313. function isChinese(name) //中文值检测 
  314. if(name.length == 0) 
  315.   return false
  316. for(i = 0; i < name.length; i++) { 
  317.   if(name.charCodeAt(i) > 128) 
  318.   return true
  319. return false
  320. function isMail(name) // E-mail值检测 
  321. if(! isEnglish(name)) 
  322.   return false
  323. i = name.indexOf("@"); 
  324. j = name.lastIndexOf("@"); 
  325. if(i == -1) 
  326.   return false
  327. if(i != j) 
  328.   return false
  329. if(i == name.length) 
  330.   return false
  331. return true
  332. function isNumber(name) //数值检测 
  333. if(name.length == 0) 
  334.   return false
  335. for(i = 0; i < name.length; i++) { 
  336.   if(name.charAt(i) < "0" ¦ ¦ name.charAt(i) > "9"
  337.   return false
  338. return true
  339. function CheckForm() 
  340. if(! isMail(form.Email.value)) { 
  341.   alert("您的电子邮件不合法!"); 
  342.   form.Email.focus(); 
  343.   return false
  344. if(! isEnglish(form.name.value)) { 
  345.   alert("英文名不合法!"); 
  346.   form.name.focus(); 
  347.   return false
  348. if(! isChinese(form.cnname.value)) { 
  349.   alert("中文名不合法!"); 
  350.   form.cnname.focus(); 
  351.   return false
  352. if(! isNumber(form.PublicZipCode.value)) { 
  353.   alert("邮政编码不合法!"); 
  354.   form.PublicZipCode.focus(); 
  355.   return false
  356. return true
  357. //--> 
  358. </SCRIPT> 
  359. 2.6 限定表单项不能输入的字符 
  360. <script language="javascript"
  361. <!-- 
  362. function contain(str,charset)// 字符串包含测试函数 
  363.   var i; 
  364.   for(i=0;i <charset.length;i++) 
  365.   if(str.indexOf(charset.charAt(i))>=0) 
  366.   return true
  367.   return false
  368. function CheckForm() 
  369. if ((contain(document.form.NAME.value, "%/(/)> <")) ¦ ¦ (contain(document.form.MESSAGE.value, "%/(/)> <"))) 
  370.   alert("输入了非法字符"); 
  371.   document.form.NAME.focus(); 
  372.   return false
  373.   return true
  374. //--> 
  375. </script>
  1. 2.7 按钮10秒后才可以点击.
  2. <input name="rulesubmit" id="agree" class="button" type="submit" value="我已阅读并同意以上条款">    <input type="button" name="return" class="button" value="不同意" onclick="javascript:window.location='/opencms/index.html';"></div>
  3. </form>
  4. <script language="javascript">
  5.     var secs = 10;
  6.     var wait = secs * 1000;
  7.     document.bbrules.rulesubmit.value = "我已阅读并同意以上条款 (" + secs + ")";
  8.     document.bbrules.rulesubmit.disabled = true;
  9.     for(i = 1; i <= secs; i++) {
  10.             window.setTimeout("update(" + i + ")", i * 1000);
  11.     }
  12.         
  13.     window.setTimeout("timerrun()", wait);
  14.     function update(num, value) {
  15.             if(num == (wait/1000)) {
  16.                     document.bbrules.rulesubmit.value = "我已阅读并同意以上条款";
  17.             } else {
  18.                     printnr = (wait / 1000)-num;
  19.                     document.bbrules.rulesubmit.value = "我已阅读并同意以上条款 (" + printnr + ")";
  20.             }
  21.     }
  22.         function timerrun() {
  23.             document.bbrules.rulesubmit.disabled = false;
  24.             document.bbrules.rulesubmit.value = "我已阅读并同意以上条款";
  25.     }
  26. </script>
  27. 关于浏览器关闭的捕捉事件
  28. <script   language=javascript>   
  29.   window.onbeforeunload   =   function()   
  30.   {   
  31.       if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)   
  32.       {   
  33.           window.event.returnValue   =   "";   
  34.           //your   code   
  35.       }   
  36.   }   
  37.   </script>
  38. 链接超时
  39. 把如下代码加入区域中:
  40. <script language=Javascript>
  41. tim=1
  42. setInterval("tim++",100)
  43. b=1
  44. var autourl=new Array()
  45. autourl[1]="www.njcatv.net"
  46. autourl[2]="javacool.3322.net"
  47. autourl[3]="www.sina.com.cn"
  48. autourl[4]="www.nuaa.edu.cn"
  49. autourl[5]="www.cctv.com"
  50. function butt(){
  51. document.write("<form )
  52. for(var i=1;i<autourl.length;i++)
  53. document.write("<input type=text +i+" size=10 value=测试中……> =》<input type=text 
  54. name=url"+i+" size=40> =》<input type=button value=GO 
  55. onclick=window.open(this.form.url"+i+".value)>
  56. ")
  57. document.write("<input type=submit value=刷新></form>")
  58. }
  59. butt()
  60. function auto(url){
  61. document.forms[0]["url"+b].value=url
  62. if(tim>200)
  63. {document.forms[0]["txt"+b].value="链接超时"}
  64. else
  65. {document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}
  66. b++
  67. }
  68. function run(){for(var i=1;i<autourl.length;i++)document.write("
  69. onerror=auto("http://"+autourl+"")>")}
  70. run()</script>
  71. 解决内存泄漏的问题。
  72. <script language="javascript">
  73. function sendRequest(url) 
  74. {
  75.     url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();
  76.     req = new ActiveXObject("Microsoft.XMLHTTP");
  77.     req.open("GET",url,true);
  78.     writeStuff('Opening ' + url);
  79.     req.onreadystatechange = function () {
  80.     writeStuff('readyState is now ' + req.readyState);
  81. }
  82.     req.send(null);
  83.     writeStuff('Sending request');
  84. }
  85. function writeStuff(msg) {
  86.     log.innerHTML += msg + "<br>";
  87.     
  88.     }
  89. </script>
  90. <body onload="sendRequest('http://www.hack58.com');">
  91. <div id="log"></div>
  1. jsp跳出框架的代码.....
  2. <script language=javascript>
  3. if(window.parent.location != window.location)
  4. {window.parent.location=window.location;}
  5. </script>
  6. 与同时访问此页的网友交谈
  7. <iframe width="172px" 
  8. height="86px" scrolling="no" allowTransparency="true" border="0" frameborder="0" src="http://say-on.com/webchat/preview.jsp?color=808080&title=%u6d41%u4e91%u5de5%u4f5c%u5ba4%u5728%u7EBF%u4EA4%u8C08&roomid=blog.youkuaiyun.com/jiangguilong2000" ></iframe><p style="margin-top:4px"><a target="_blank" href="http://say-on.com/webchat/?color=808080&title=%u6d41%u4e91%u5de5%u4f5c%u5ba4%u5728%u7EBF%u4EA4%u8C08&roomid=blog.youkuaiyun.com/jiangguilong2000">与同时访问此页的网友交谈</a></p>
文章内容来自:http://topic.youkuaiyun.com/u/20080527/10/7f580777-1a3d-44fc-8806-55f9d79d0c65.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

無名VF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值