七郎's JavaBlog

          草木竹石皆可為劒。至人之用人若鏡,不將不迎,應而不藏,故能勝物而不傷。
          posts - 60, comments - 14, trackbacks - 0, articles - 0

          導航

          隨筆分類

          隨筆檔案

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          JavaScript使用技巧精萃

          Posted on 2008-08-06 11:31 七郎歸來 閱讀(279) 評論(0)  編輯  收藏

           

          (一).確認刪除用法: 
            
          1. BtnDel.Attributes.Add("onclick","return confirm('"+"確認刪除?"+"')"); 
            
          2. linktempDelete.Attributes["onclick"]="javascript:return  confirm('"+"確認刪除?"+"');"
            
          3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e) 
            
          4
            

          if ((e.Item.ItemType == ListItemType.Item) ¦ (e.Item.ItemType == ListItemType.AlternatingItem)) 

            
          // 刪除按鈕上的提示部分 
            e.Item.Cells[10].Attributes.Add("onclick""return confirm('確定刪除嗎?');"); 
          }
            
            }
           
            
          5
              
          <script language="JavaScript" type="text/JavaScript"> 
          function delete_y(e) 
                  

              
          if(event.srcElement.outerText == "刪除"
                  event.returnValue
          =confirm("確定刪除?"); 
          }
           
          document.onclick
          =delete_y; 
              
          </script> 

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

          (三).關(guān)閉窗體 
            
          1
                
          this.btnClose.Attributes.Add("onclick",  "window.close();return false;"); 
            
          2.關(guān)閉本窗體間跳轉(zhuǎn)到另一個頁面 
                
          this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign 
                  ('
          " + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();"
            3.關(guān)閉父窗體: 
                <INPUT type=
          "reset" value=' <%=this._Cancel%>' onclick="window.parent.close()"  Class="Button"

            4.關(guān)閉本彈出窗體,并刷新父頁面 

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


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

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

          (六). window.open() 方法 
          語法:window.open(pageurl,name,parameters); 
          window對象的open()方法用于創(chuàng)建一個新的窗口實例,新創(chuàng)建的窗口的外觀由參數(shù):parameters指定。新窗口中打開的文檔由參數(shù):        pageurl指定。系統(tǒng)能夠根據(jù)參數(shù):name確定的名稱訪問該窗口。 

                  下表為parameters參數(shù)表: 
                  參數(shù)          衩始值          說明 
                  alwaysLowered yes/no 指定窗口隱藏在所有窗口之下。 
                  alwaysRaised yes/no 指定窗口浮在所有窗口之上。 
                  dependent yes/no 指定打開的窗口為父窗口的一個了窗口。并隨父窗口的關(guān)閉而關(guān)閉。 
                  directions yes/no 指定Navigator 2和3的目錄欄是否在新窗口中可見。 
                  height pixel value 設定新窗口的像素高度。 
                  hotkeys yes/no 在沒有菜單欄的新窗口設置安全退出熱鍵。 
                  innerHeight pixel value 設置新窗口中文檔的像素高度。 
                  innerWidth pixel value 設置新窗口中文檔的像素寬度。 
                  location yes/ no 指明位置欄在新窗口中是否可見。 
                  menubar yes /no 指明菜單欄在新窗口中是否可見。 
                  outerHeight pixel value 設定窗口(包括裝飾邊框)的像素高度。 
                  outerWidth pixel value 設定窗口(包括裝飾邊框)的像素寬度。 
                  resizable yes /no 指明新窗口是否可以調(diào)整。 
                  screenX pixel value 設定新窗口離屏幕邊界的像素長度。 
                  screenY pixel value 設定新窗口離屏幕上邊界的像素長度。 
                  scrollbars yes /no 指明滾動欄在新窗口中是否可見。 
                  titlebar yes /no 指明菜單題目欄在新窗口是否可見。 
                  toolbar yes /no 指明工具欄在新窗口中是否可見。 
                  Width pixel value 設定窗口的像素寬度。 
                  z-look yes /no 在文檔中包含各個 <pplet>標簽的數(shù)組。 
                  fullscreen yes / no 打開的窗體是否進行全屏顯示 
                  left pixel value 設定新窗口距屏幕左方的距離 
                  top pixel value 設定新窗口距屏幕上方的距離 
            
                例子: 
                  <html> 
                    <head> 
                        <title>window.open函數(shù) </title> 
                    </head> 
                    <body> 
                        <script language=
          "javascript"
                            <!-- 
                          window.open(
          "","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); 
                              //--> 
                        </script> 
                    </body> 
                  </html> 

          (七).location對象    
              href 整個URL字符串. 
              protocol 含有URL第一部分的字符串,如http: 
              host 包含有URL中主機名:端口號部分的字符串.如//www.cenpok.net/server/ 
              hostname 包含URL中主機名的字符串.如http://www.cenpok.net 
              port 包含URL中可能存在的端口號字符串. 
              pathname URL中
          "/"以后的部分.如~list/index.htm 
              hash 
          "#"號(CGI參數(shù))之后的字符串. 
              search 
          "?"號(CGI參數(shù))之后的字符串. 

          (八).按鍵捕捉 
            1.Ctrl+Enter按鍵捕捉方法 
              <body onkeydown=
          "doKeyDown()"
              <script language=
          "JavaScript"
              <!-- 
              function doKeyDown() 
              { 
                  if (event.ctrlKey && event.keyCode == 13) 
                  { 
                    alert(
          "You pressed the Ctrl + Enter"
                  } 
              } 
              //--> 
              </script> 
              </body> 
            2.Alt加快捷鍵: Alt+A 
              <button accessKey=A title=
          "Alt+A" onclick="alert('Button clicked!')">Alt+A </button> 
          (九).控制輸入,非法字符不能輸入到TextBox. 
              <asp:textbox class=
          "Text" 
                  onkeypress=
          "if (event.keyCode < 48 ¦ ¦ event.keyCode >57) event.returnValue = false;" 
          id=
          "txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"
              </asp:textbox> 
              說明: 此方法控制TextBox只收數(shù)字:0~9 , 也自可以定義其它可輸入字符,如改成: 65~123,只允許輸入: a~z和A~Z 等. 

          [以下為收藏] 

          1>屏蔽功能類 

          1.1 屏蔽鍵盤所有鍵 
          <script language=
          "javascript"
          <!-- 
          function document.onkeydown(){ 
            event.keyCode = 0; 
            event.returnvalue = false; 

          --> 
          </script> 

          1.2 屏蔽鼠標右鍵 

          在body標簽里加上oncontextmenu=self.event.returnvalue=false 

          或者 

          <script language=
          "javascript"
          <!-- 
          function document.oncontextmenu() 

            return false; 

          --> 
          </script> 

          function nocontextmenu() 

              if(document.all) { 
                  event.cancelBubble=true; 
                  event.returnvalue=false; 
                  return false; 
              } 


          或者 

          <body onmousedown=
          "rclick()" oncontextmenu= "nocontextmenu()"

          <script language=
          "javascript"
          <!-- 
          function rclick() 

              if(document.all) { 
                  if (event.button == 2){ 
                      event.returnvalue=false; 
                  } 
              } 

          --> 
          </script> 


          1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格鍵 

          <script language=
          "javascript"
          <!-- 
            //屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵 
          function window.onhelp(){return false} //屏蔽F1幫助 
          function KeyDown(){ 
            if ((window.event.altKey)&& 
                ((window.event.keyCode==37) ¦ ¦  //屏蔽 Alt+ 方向鍵 ← 
                (window.event.keyCode==39))){  //屏蔽 Alt+ 方向鍵 → 
              alert(
          "不準你使用ALT+方向鍵前進或后退網(wǎng)頁!"); 
              event.returnvalue=false; 
              } 

              /* 注:這還不是真正地屏蔽 Alt+ 方向鍵, 
              因為 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放, 
              用鼠標點掉警告框,這種屏蔽方法就失效了。以后若 
              有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/ 

            if ((event.keyCode == 8) && 
                (event.srcElement.type != 
          "text" && 
                event.srcElement.type != 
          "textarea" && 
                event.srcElement.type != 
          "password") ¦ ¦          //屏蔽退格刪除鍵  
                (event.keyCode==116) ¦ ¦                            //屏蔽 F5 刷新鍵 
                (event.ctrlKey && event.keyCode==82)){            //Ctrl + R 
              event.keyCode=0; 
              event.returnvalue=false; 
              } 
            if ((event.ctrlKey)&&(event.keyCode==78))  //屏蔽 Ctrl+n 
              event.returnvalue=false; 
            if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 
              event.returnvalue=false; 
            if (window.event.srcElement.tagName == 
          "A" && window.event.shiftKey) 
                window.event.returnvalue = false;  //屏蔽 shift 加鼠標左鍵新開一網(wǎng)頁 
            if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4 
                window.showModelessDialog(
          "about:blank","","dialogWidth:1px;dialogheight:1px"); 
                return false;} 
            } 
          /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜單 
          第一種方法: 
            window.open(
          "你的.htm""","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0"
          第二種方法是打開一個全屏的頁面: 
            window.open(
          "你的.asp""""fullscreen=yes"
          */ 
          //--> 
          </script> 
          1.4屏蔽瀏覽器右上角“最小化”“最大化”“關(guān)閉”鍵 

          <script language=javascript> 
          function window.onbeforeunload() 

            if(event.clientX>document.body.clientWidth&&event.clientY <0 ¦ ¦event.altKey) 
            { 
              window.event.returnvalue = 
          ""
            } 

          </script> 

          或者使用全屏打開頁面 

          <script language=
          "javascript"
          <!-- 
          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"); 
          --> 
          </script> 

          注:在body標簽里加上onbeforeunload=
          "javascript:return false"(使不能關(guān)閉窗口) 

          1.5屏蔽F5鍵 

          <script language=
          "javascript"
          <!-- 
          function document.onkeydown() 

              if ( event.keyCode==116) 
              { 
                  event.keyCode = 0; 
                  event.cancelBubble = true; 
                  return false; 
              } 

          --> 
          </script> 

          1.6屏蔽IE后退按鈕 

          在你鏈接的時候用 <a href=
          "javascript:location.replace(url)"

          1.7屏蔽主窗口滾動條 

          在body標簽里加上 style=
          "overflow-y:hidden" 

          1.8 屏蔽拷屏,不斷地清空剪貼板 

          在body標簽里加上onload=
          "setInterval('clipboardData.setData(\'Text\',\'\')',100)" 

          1.9 屏蔽網(wǎng)站的打印功能 

          <style> 
          @media print { 
            * { display: none } 

          </style> 

          1.10 屏蔽IE6.0 圖片上自動出現(xiàn)的保存圖標 

          方法一: 
          <META HTTP-EQUIV=
          "imagetoolbar" CONTENT="no"
          方法二: 
          <img galleryimg=
          "no"

          1.11 屏蔽頁中所有的script 

          <noscrript> </noscript> 

          2>表單提交驗證類 



          2.1 表單項不能為空 

          <script language=
          "javascript"
          <!-- 
          function CheckForm() 

          if (document.form.name.value.length == 0) { 
            alert(
          "請輸入您姓名!"); 
            document.form.name.focus(); 
            return false; 

            return true; 

          --> 
          </script> 

          2.2 比較兩個表單項的值是否相同 

          <script language=
          "javascript"
          <!-- 
          function CheckForm() 
          if (document.form.PWD.value != document.form.PWD_Again.value) { 
            alert(
          "您兩次輸入的密碼不一樣!請重新輸入."); 
            document.ADDUser.PWD.focus(); 
            return false; 

            return true; 

          --> 
          </script> 

          2.3 表單項只能為數(shù)字和
          "_",用于電話/銀行帳號驗證上,可擴展到域名注冊等 

          <script language=
          "javascript"
          <!-- 
          function isNumber(String) 

              var Letters = 
          "1234567890-"; //可以自己增加可輸入值 
              var i; 
              var c; 
                if(String.charAt( 0 )=='-') 
          return false; 
                if( String.charAt( String.length - 1 ) == '-' ) 
                    return false; 
              for( i = 0; i < String.length; i ++ ) 
              { 
                    c = String.charAt( i ); 
            if (Letters.indexOf( c ) < 0) 
                    return false; 

              return true; 

          function CheckForm() 

              if(! isNumber(document.form.TEL.value)) { 
            alert(
          "您的電話號碼不合法!"); 
                  document.form.TEL.focus(); 
                  return false; 

          return true; 

          --> 
          </script> 


          2.4 表單項輸入數(shù)值/長度限定 

          <script language=
          "javascript"
          <!-- 
          function CheckForm() 

              if (document.form.count.value > 100 ¦ ¦ document.form.count.value < 1) 

          alert(
          "輸入數(shù)值不能小于零大于100!"); 
          document.form.count.focus(); 
          return false; 

              if (document.form.MESSAGE.value.length <10) 

          alert(
          "輸入文字小于10!"); 
          document.form.MESSAGE.focus(); 
          return false; 

          return true; 

          //--> 
          </script> 

          2.5 中文/英文/數(shù)字/郵件地址合法性判斷 

          <SCRIPT LANGUAGE=
          "javascript"
          <!-- 

          function isEnglish(name) //英文值檢測 

          if(name.length == 0) 
            return false; 
          for(i = 0; i < name.length; i++) { 
            if(name.charCodeAt(i) > 128) 
            return false; 

          return true; 


          function isChinese(name) //中文值檢測 

          if(name.length == 0) 
            return false; 
          for(i = 0; i < name.length; i++) { 
            if(name.charCodeAt(i) > 128) 
            return true; 

          return false; 


          function isMail(name) // E-mail值檢測 

          if(! isEnglish(name)) 
            return false; 
          i = name.indexOf(
          "@"); 
          j = name.lastIndexOf(
          "@"); 
          if(i == -1) 
            return false; 
          if(i != j) 
            return false; 
          if(i == name.length) 
            return false; 
          return true; 


          function isNumber(name) //數(shù)值檢測 

          if(name.length == 0) 
            return false; 
          for(i = 0; i < name.length; i++) { 
            if(name.charAt(i) < 
          "0" ¦ ¦ name.charAt(i) > "9"
            return false; 

          return true; 


          function CheckForm() 

          if(! isMail(form.Email.value)) { 
            alert(
          "您的電子郵件不合法!"); 
            form.Email.focus(); 
            return false; 

          if(! isEnglish(form.name.value)) { 
            alert(
          "英文名不合法!"); 
            form.name.focus(); 
            return false; 

          if(! isChinese(form.cnname.value)) { 
            alert(
          "中文名不合法!"); 
            form.cnname.focus(); 
            return false; 

          if(! isNumber(form.PublicZipCode.value)) { 
            alert(
          "郵政編碼不合法!"); 
            form.PublicZipCode.focus(); 
            return false; 

          return true; 

          //--> 
          </SCRIPT> 

          2.6 限定表單項不能輸入的字符 

          <script language=
          "javascript"
          <!-- 

          function contain(str,charset)// 字符串包含測試函數(shù) 

            var i; 
            for(i=0;i <charset.length;i++) 
            if(str.indexOf(charset.charAt(i))>=0) 
            return true; 
            return false; 


          function CheckForm() 

          if ((contain(document.form.NAME.value, 
          "%\(\)> <")) ¦ ¦ (contain(document.form.MESSAGE.value, "%\(\)> <"))) 

            alert(
          "輸入了非法字符"); 
            document.form.NAME.focus(); 
            return false; 

            return true; 

          //--> 
          </script>

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 错那县| 怀柔区| 浮梁县| 新巴尔虎左旗| 长寿区| 中宁县| 德阳市| 利津县| 宁阳县| 甘德县| 鹰潭市| 林州市| 托克逊县| 襄樊市| 宽城| 根河市| 伊川县| 宁强县| 千阳县| 海丰县| 栾川县| 通化县| 呼伦贝尔市| 龙胜| 高陵县| 屏东市| 北碚区| 沂南县| 吕梁市| 塘沽区| 德阳市| 柳林县| 邻水| 偏关县| 荆门市| 秦安县| 射阳县| 资中县| 蒙自县| 黔西| 甘德县|