典型JavaScript使用技巧精萃


  1. (一).确认删除用法:
  2.   1. BtnDel.Attributes.Add("onclick","return confirm('"+"确认删除?"+"')");
  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.   // 刪除按鈕上的提示部分
  10.   e.Item.Cells[10].Attributes.Add("onclick", "return confirm('确定删除吗?');");
  11. }  
  12.   }
  13.   5.
  14.     <script language="JavaScript" type="text/JavaScript">
  15. function delete_y(e)
  16.         {
  17.     if(event.srcElement.outerText == "删除")
  18.         event.returnValue=confirm("确定删除?");
  19. }
  20. document.οnclick=delete_y;
  21.     </script>

  22. (二).跨语言字符串替换
  23.     System.Text.RegularExpressions.Regex.Replace(str1,@" <{1}[^ <>]*>{1}","").Replace("&nbsp;","").Replace("\","\\").Replace("-","-").Replace("&amp;","&").Replace("&lt;"," <").Replace("&gt;",">").Replace("br","\n");

  24. (三).关闭窗体
  25.   1.
  26.       this.btnClose.Attributes.Add("onclick",  "window.close();return false;");
  27.   2.关闭本窗体间跳转到另一个页面
  28.       this.HyperLink1.NavigateUrl = "javascript:οnclick=window.opener.location.assign
  29.         ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
  30.   3.关闭父窗体:
  31.       <INPUT type="reset" value=' <%=this._Cancel%>' οnclick="window.parent.close()"  Class="Button">

  32.   4.关闭本弹出窗体,并刷新父页面

  33.       this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>");


  34. (四).Web MessageBox  
  35.   1.
  36.       Response.Write(" <script language=javascript> window.alert('保存成功1'); </script>");
  37.   2.
  38.       Response.Write(" <script>alert('"+"保存成功!"+"'); </script>");
  39.   3.
  40.       this.Page.RegisterStartupScript("ChiName"," <script language='javascript'>alert('" + "保存成功!" + "') </script>");

  41. (五).DataGrid中加CheckBox控件模板列.
  42.   请看:  http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx

  43. (六). window.open() 方法
  44. 语法:window.open(pageurl,name,parameters);
  45. window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数:        pageurl指定。系统能够根据参数:name确定的名称访问该窗口。

  46.         下表为parameters参数表:
  47.         参数          衩始值          说明
  48.         alwaysLowered yes/no 指定窗口隐藏在所有窗口之下。
  49.         alwaysRaised yes/no 指定窗口浮在所有窗口之上。
  50.         dependent yes/no 指定打开的窗口为父窗口的一个了窗口。并随父窗口的关闭而关闭。
  51.         directions yes/no 指定Navigator 2和3的目录栏是否在新窗口中可见。
  52.         height pixel value 设定新窗口的像素高度。
  53.         hotkeys yes/no 在没有菜单栏的新窗口设置安全退出热键。
  54.         innerHeight pixel value 设置新窗口中文档的像素高度。
  55.         innerWidth pixel value 设置新窗口中文档的像素宽度。
  56.         location yes/ no 指明位置栏在新窗口中是否可见。
  57.         menubar yes /no 指明菜单栏在新窗口中是否可见。
  58.         outerHeight pixel value 设定窗口(包括装饰边框)的像素高度。
  59.         outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度。
  60.         resizable yes /no 指明新窗口是否可以调整。
  61.         screenX pixel value 设定新窗口离屏幕边界的像素长度。
  62.         screenY pixel value 设定新窗口离屏幕上边界的像素长度。
  63.         scrollbars yes /no 指明滚动栏在新窗口中是否可见。
  64.         titlebar yes /no 指明菜单题目栏在新窗口是否可见。
  65.         toolbar yes /no 指明工具栏在新窗口中是否可见。
  66.         Width pixel value 设定窗口的像素宽度。
  67.         z-look yes /no 在文档中包含各个 <pplet>标签的数组。
  68.         fullscreen yes / no 打开的窗体是否进行全屏显示
  69.         left pixel value 设定新窗口距屏幕左方的距离
  70.         top pixel value 设定新窗口距屏幕上方的距离
  71.   
  72.       例子:
  73.         <html>
  74.           <head>
  75.               <title>window.open函数 </title>
  76.           </head>
  77.           <body>
  78.               <script language="javascript">
  79.                   <!--
  80.                 window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");
  81.                     //-->
  82.               </script>
  83.           </body>
  84.         </html>

  85. (七).location对象   
  86.     href 整个URL字符串.
  87.     protocol 含有URL第一部分的字符串,如http:
  88.     host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/
  89.     hostname 包含URL中主机名的字符串.如http://www.cenpok.net
  90.     port 包含URL中可能存在的端口号字符串.
  91.     pathname URL中"/"以后的部分.如~list/index.htm
  92.     hash "#"号(CGI参数)之后的字符串.
  93.     search "?"号(CGI参数)之后的字符串.

  94. (八).按键捕捉
  95.   1.Ctrl+Enter按键捕捉方法
  96.     <body οnkeydοwn="doKeyDown()">
  97.     <script language="JavaScript">
  98.     <!--
  99.     function doKeyDown()
  100.     {
  101.         if (event.ctrlKey && event.keyCode == 13)
  102.         {
  103.           alert("You pressed the Ctrl + Enter")
  104.         }
  105.     }
  106.     //-->
  107.     </script>
  108.     </body>
  109.   2.Alt加快捷键: Alt+A
  110.     <button accessKey=A title="Alt+A" οnclick="alert('Button clicked!')">Alt+A </button>
  111. (九).控制输入,非法字符不能输入到TextBox.
  112.     <asp:textbox class="Text"
  113.         οnkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"
  114. id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12">
  115.     </asp:textbox>
  116.     说明: 此方法控制TextBox只收数字:0~9 , 也自可以定义其它可输入字符,如改成: 65~123,只允许输入: a~z和A~Z 等.

  117. [以下为收藏]

  118. 1>屏蔽功能类

  119. 1.1 屏蔽键盘所有键
  120. <script language="javascript">
  121. <!--
  122. function document.onkeydown(){
  123.   event.keyCode = 0;
  124.   event.returnvalue = false;
  125. }
  126. -->
  127. </script>

  128. 1.2 屏蔽鼠标右键

  129. 在body标签里加上οncοntextmenu=self.event.returnvalue=false

  130. 或者

  131. <script language="javascript">
  132. <!--
  133. function document.oncontextmenu()
  134. {
  135.   return false;
  136. }
  137. -->
  138. </script>

  139. function nocontextmenu()
  140. {
  141.     if(document.all) {
  142.         event.cancelBubble=true;
  143.         event.returnvalue=false;
  144.         return false;
  145.     }
  146. }

  147. 或者

  148. <body οnmοusedοwn="rclick()" οncοntextmenu= "nocontextmenu()">

  149. <script language="javascript">
  150. <!--
  151. function rclick()
  152. {
  153.     if(document.all) {
  154.         if (event.button == 2){
  155.             event.returnvalue=false;
  156.         }
  157.     }
  158. }
  159. -->
  160. </script>


  161. 1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键

  162. <script language="javascript">
  163. <!--
  164.   //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
  165. function window.onhelp(){return false} //屏蔽F1帮助
  166. function KeyDown(){
  167.   if ((window.event.altKey)&&
  168.       ((window.event.keyCode==37)||  //屏蔽 Alt+ 方向键 ←
  169.       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 →
  170.     alert("不准你使用ALT+方向键前进或后退网页!");
  171.     event.returnvalue=false;
  172.     }

  173.     /* 注:这还不是真正地屏蔽 Alt+ 方向键,
  174.     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
  175.     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
  176.     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/

  177.   if ((event.keyCode == 8) &&
  178.       (event.srcElement.type != "text" &&
  179.       event.srcElement.type != "textarea" &&
  180.       event.srcElement.type != "password") ||          //屏蔽退格删除键  
  181.       (event.keyCode==116)||                            //屏蔽 F5 刷新键
  182.       (event.ctrlKey && event.keyCode==82)){            //Ctrl + R
  183.     event.keyCode=0;
  184.     event.returnvalue=false;
  185.     }
  186.   if ((event.ctrlKey)&&(event.keyCode==78))  //屏蔽 Ctrl+n
  187.     event.returnvalue=false;
  188.   if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
  189.     event.returnvalue=false;
  190.   if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
  191.       window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页
  192.   if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
  193.       window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
  194.       return false;}
  195.   }
  196. /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
  197. 第一种方法:
  198.   window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
  199. 第二种方法是打开一个全屏的页面:
  200.   window.open("你的.asp", "", "fullscreen=yes")
  201. */
  202. //-->
  203. </script>


  204. 1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键

  205. <script language=javascript>
  206. function window.onbeforeunload()
  207. {
  208.   if(event.clientX>document.body.clientWidth&&event.clientY <0||event.altKey)
  209.   {
  210.     window.event.returnvalue = "";
  211.   }
  212. }
  213. </script>

  214. 或者使用全屏打开页面

  215. <script language="javascript">
  216. <!--
  217. 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");
  218. -->
  219. </script>

  220. 注:在body标签里加上οnbefοreunlοad="javascript:return false"(使不能关闭窗口)

  221. 1.5屏蔽F5键

  222. <script language="javascript">
  223. <!--
  224. function document.onkeydown()
  225. {
  226.     if ( event.keyCode==116)
  227.     {
  228.         event.keyCode = 0;
  229.         event.cancelBubble = true;
  230.         return false;
  231.     }
  232. }
  233. -->
  234. </script>

  235. 1.6屏蔽IE后退按钮

  236. 在你链接的时候用 <a href="javascript:location.replace(url)">

  237. 1.7屏蔽主窗口滚动条

  238. 在body标签里加上 style="overflow-y:hidden"

  239. 1.8 屏蔽拷屏,不断地清空剪贴板

  240. 在body标签里加上οnlοad="setInterval('clipboardData.setData(\'Text\',\'\')',100)"

  241. 1.9 屏蔽网站的打印功能

  242. <style>
  243. @media print {
  244.   * { display: none }
  245. }
  246. </style>

  247. 1.10 屏蔽IE6.0 图片上自动出现的保存图标

  248. 方法一:
  249. <META HTTP-EQUIV="imagetoolbar" CONTENT="no">
  250. 方法二:
  251. <img galleryimg="no">

  252. 1.11 屏蔽页中所有的script

  253. <noscrript> </noscript>

  254. 2>表单提交验证类



  255. 2.1 表单项不能为空

  256. <script language="javascript">
  257. <!--
  258. function CheckForm()
  259. {
  260. if (document.form.name.value.length == 0) {
  261.   alert("请输入您姓名!");
  262.   document.form.name.focus();
  263.   return false;
  264. }
  265.   return true;
  266. }
  267. -->
  268. </script>

  269. 2.2 比较两个表单项的值是否相同

  270. <script language="javascript">
  271. <!--
  272. function CheckForm()
  273. if (document.form.PWD.value != document.form.PWD_Again.value) {
  274.   alert("您两次输入的密码不一样!请重新输入.");
  275.   document.ADDUser.PWD.focus();
  276.   return false;
  277. }
  278.   return true;
  279. }
  280. -->
  281. </script>

  282. 2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

  283. <script language="javascript">
  284. <!--
  285. function isNumber(String)
  286. {
  287.     var Letters = "1234567890-"; //可以自己增加可输入值
  288.     var i;
  289.     var c;
  290.       if(String.charAt( 0 )=='-')
  291. return false;
  292.       if( String.charAt( String.length - 1 ) == '-' )
  293.           return false;
  294.     for( i = 0; i < String.length; i ++ )
  295.     {
  296.           c = String.charAt( i );
  297.   if (Letters.indexOf( c ) < 0)
  298.           return false;
  299. }
  300.     return true;
  301. }
  302. function CheckForm()
  303. {
  304.     if(! isNumber(document.form.TEL.value)) {
  305.   alert("您的电话号码不合法!");
  306.         document.form.TEL.focus();
  307.         return false;
  308. }
  309. return true;
  310. }
  311. -->
  312. </script>


  313. 2.4 表单项输入数值/长度限定

  314. <script language="javascript">
  315. <!--
  316. function CheckForm()
  317. {
  318.     if (document.form.count.value > 100 || document.form.count.value < 1)
  319. {
  320. alert("输入数值不能小于零大于100!");
  321. document.form.count.focus();
  322. return false;
  323. }
  324.     if (document.form.MESSAGE.value.length <10)
  325. {
  326. alert("输入文字小于10!");
  327. document.form.MESSAGE.focus();
  328. return false;
  329. }
  330. return true;
  331. }
  332. //-->
  333. </script>

  334. 2.5 中文/英文/数字/邮件地址合法性判断

  335. <SCRIPT LANGUAGE="javascript">
  336. <!--

  337. function isEnglish(name) //英文值检测
  338. {
  339. if(name.length == 0)
  340.   return false;
  341. for(i = 0; i < name.length; i++) {
  342.   if(name.charCodeAt(i) > 128)
  343.   return false;
  344. }
  345. return true;
  346. }

  347. function isChinese(name) //中文值检测
  348. {
  349. if(name.length == 0)
  350.   return false;
  351. for(i = 0; i < name.length; i++) {
  352.   if(name.charCodeAt(i) > 128)
  353.   return true;
  354. }
  355. return false;
  356. }

  357. function isMail(name) // E-mail值检测
  358. {
  359. if(! isEnglish(name))
  360.   return false;
  361. i = name.indexOf("@");
  362. j = name.lastIndexOf("@");
  363. if(i == -1)
  364.   return false;
  365. if(i != j)
  366.   return false;
  367. if(i == name.length)
  368.   return false;
  369. return true;
  370. }

  371. function isNumber(name) //数值检测
  372. {
  373. if(name.length == 0)
  374.   return false;
  375. for(i = 0; i < name.length; i++) {
  376.   if(name.charAt(i) < "0" || name.charAt(i) > "9")
  377.   return false;
  378. }
  379. return true;
  380. }

  381. function CheckForm()
  382. {
  383. if(! isMail(form.Email.value)) {
  384.   alert("您的电子邮件不合法!");
  385.   form.Email.focus();
  386.   return false;
  387. }
  388. if(! isEnglish(form.name.value)) {
  389.   alert("英文名不合法!");
  390.   form.name.focus();
  391.   return false;
  392. }
  393. if(! isChinese(form.cnname.value)) {
  394.   alert("中文名不合法!");
  395.   form.cnname.focus();
  396.   return false;
  397. }
  398. if(! isNumber(form.PublicZipCode.value)) {
  399.   alert("邮政编码不合法!");
  400.   form.PublicZipCode.focus();
  401.   return false;
  402. }
  403. return true;
  404. }
  405. //-->
  406. </SCRIPT>

  407. 2.6 限定表单项不能输入的字符

  408. <script language="javascript">
  409. <!--

  410. function contain(str,charset)// 字符串包含测试函数
  411. {
  412.   var i;
  413.   for(i=0;i <charset.length;i++)
  414.   if(str.indexOf(charset.charAt(i))>=0)
  415.   return true;
  416.   return false;
  417. }

  418. function CheckForm()
  419. {
  420. if ((contain(document.form.NAME.value, "%\(\)> <")) || (contain(document.form.MESSAGE.value, "%\(\)> <")))
  421. {
  422.   alert("输入了非法字符");
  423.   document.form.NAME.focus();
  424.   return false;
  425. }
  426.   return true;
  427. }
  428. //-->
  429. </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值