`

典型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.onclick=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:onclick=window.opener.location.assign
    29.         ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
    30.   3.关闭父窗体:
    31.       <INPUT type="reset" value=' <%=this._Cancel%>' onclick="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 onkeydown="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" onclick="alert('Button clicked!')">Alt+A </button>
    111. (九).控制输入,非法字符不能输入到TextBox.
    112.     <asp:textbox class="Text"
    113.         onkeypress="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标签里加上oncontextmenu=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 onmousedown="rclick()" oncontextmenu= "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标签里加上onbeforeunload="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标签里加上onload="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>
    分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics