Web中常用的Javascript技巧(2)

來源:互聯網
上載者:User

利用Regex限制網頁表單裡的文字框輸入內容:

//消除映像工具列
[/html]
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or 
<head> 
<meta http-equiv="imagetoolbar" content="no"> 
</head> 
[/html]
//取得控制項得絕對位置(1)

<script language="javascript"> <br/>function getoffset(e) <br/>{ <br/> var t=e.offsetTop; <br/> var l=e.offsetLeft; <br/> while(e=e.offsetParent) <br/> { <br/> t+=e.offsetTop; <br/> l+=e.offsetLeft; <br/> } <br/> var rec = new Array(1); <br/> rec[0] = t; <br/> rec[1] = l; <br/> return rec <br/>} <br/></script> <br/>

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
//獲得控制項的絕對位置(2) 

oRect = obj.getBoundingClientRect(); 
oRect.left 
oRect.

//列印分頁

<p  style="page-break-after:always">page1</p>   
<p  style="page-break-after:always">page2</p>   

//設定列印

<object id="factory" style="display:none" viewastext <br/> classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" <br/> codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" <br/>></object> <br/><input type=button value=版面設定 onclick="factory.printing.PageSetup()"> <br/><input type=button value=預覽列印 onclick="factory.printing.Preview()"> <br/> <br/><script language=javascript> <br/>function window.onload() <br/>{ <br/> // -- advanced features <br/> factory.printing.SetMarginMeasure(2) // measure margins in inches <br/> factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3 <br/> factory.printing.printer = "HP DeskJet 870C" <br/> factory.printing.copies = 2 <br/> factory.printing.collate = true <br/> factory.printing.paperSize = "A4" <br/> factory.printing.paperSource = "Manual feed" <br/> // -- basic features <br/> factory.printing.header = "居左顯示&b置中顯示&b居右顯示頁碼,第&p頁/共&P頁" <br/> factory.printing.footer = "(自訂頁尾)" <br/> factory.printing.portrait = false <br/> factory.printing.leftMargin = 0.75 <br/> factory.printing.topMargin = 1.5 <br/> factory.printing.rightMargin = 0.75 <br/> factory.printing.bottomMargin = 1.5 <br/>} <br/>function Print(frame) { <br/> factory.printing.Print(true, frame) // print with prompt <br/>} <br/></script> <br/><input type=button value="列印本頁" onclick="factory.printing.Print(false)"> <br/><input type=button value="版面設定" onclick="factory.printing.PageSetup()"> <br/><input type=button value="預覽列印" onclick="factory.printing.Preview()"><br> <br/><a href="http://www.meadroid.com/scriptx/docs/printdoc.htm?static" target=_blank>具體使用手冊,更多資訊,點這裡</a> <br/>

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
//內建的預覽列印 

WebBrowser.ExecWB(1,1) 開啟  
Web.ExecWB(2,1) 關閉現在所有的IE視窗,並開啟一個新視窗  
Web.ExecWB(4,1) 儲存網頁  
Web.ExecWB(6,1) 列印  
Web.ExecWB(7,1) 預覽列印  
Web.ExecWB(8,1) 列印版面設定  
Web.ExecWB(10,1) 查看頁面屬性  
Web.ExecWB(15,1) 好像是撤銷,有待確認  
Web.ExecWB(17,1) 全選  
Web.ExecWB(22,1) 重新整理  
Web.ExecWB(45,1) 關閉表單無提示  
<style media=print>  
.Noprint{display:none;}<!--用本樣式在列印時隱藏非列印項目-->  
.PageNext{page-break-after: always;}<!--控制分頁-->  
</style>  
<object  id="WebBrowser"  width=0  height=0  classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">     
</object>     
  
<center class="Noprint" > 
<input type=button value="http://www.blog.com.cn/列印 onclick=document.all.WebBrowser.ExecWB(6,1)>  
<input type=button value=直接列印 onclick=document.all.WebBrowser.ExecWB(6,6)>  
<input type=button value=版面設定 onclick=document.all.WebBrowser.ExecWB(8,1)>  
</p>  
<p> <input type=button value=預覽列印 onclick=document.all.WebBrowser.ExecWB(7,1)>  
</center>

//去掉列印時的頁首頁尾 
<script language="JavaScript"> <br/>var HKEY_Root,HKEY_Path,HKEY_Key; <br/>HKEY_Root="HKEY_CURRENT_USER"; <br/>HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; <br/>//設定網頁列印的頁首頁尾為空白 <br/>function PageSetup_Null() <br/>{ <br/> try <br/> { <br/> var Wsh=new ActiveXObject("WScript.Shell"); <br/> HKEY_Key="header"; <br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); <br/> HKEY_Key="footer"; <br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); <br/> } <br/> catch(e){} <br/>} <br/>//設定網頁列印的頁首頁尾為預設值 <br/>function PageSetup_Default() <br/>{ <br/> try <br/> { <br/> var Wsh=new ActiveXObject("WScript.Shell"); <br/> HKEY_Key="header"; <br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b頁碼,&p/&P"); <br/> HKEY_Key="footer"; <br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d"); <br/> } <br/> catch(e){} <br/>} <br/></script> <br/><input type="button" value="清空頁碼" onclick=PageSetup_Null()> <br/><input type="button" value="恢複頁碼" onclick=PageSetup_Default()> <br/>
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
//無模式的提示框 

function modelessAlert(Msg) 

   window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); 

//下載檔案 

function DownURL(strRemoteURL,strLocalURL) 

 try 
 { 
  var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlHTTP.open("Get",strRemoteURL,false); 
  xmlHTTP.send(); 
  var adodbStream=new ActiveXObject("ADODB.Stream"); 
  adodbStream.Type=1;//1=adTypeBinary 
  adodbStream.Open(); 
  adodbStream.write(xmlHTTP.responseBody); 
  adodbStream.SaveToFile(strLocalURL,2); 
  adodbStream.Close(); 
  adodbStream=null; 
  xmlHTTP=null; 
   
 } 
 catch(e) 
 { 
  window.confirm("下載URL出錯!"); 
 } 
 //window.confirm("下載完成."); 

//檢驗串連是否有效 

function getXML(URL)  

 var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
 xmlhttp.Open("GET",URL, false);  
 try 
 {  
  xmlhttp.Send(); 
 } 
 catch(e){} 
 finally  
 { 
  var result = xmlhttp.responseText; 
  if(result)  
  { 
   if(xmlhttp.Status==200) 
   { 
    return(true); 
   } 
   else  
   { 
    return(false); 
   } 
  } 
  else  
  { 
   return(false); 
  } 
 } 
}

 
//檢查網頁是否存在 

function Checkurl(http://www.blog.com.cn/URL) 

  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlhttp.Open("GET",URL, false); 
  try 
  {  
    xmlhttp.Send();  
    var result = xmlhttp.status; 
  } 
  catch(e) {return(false); } 
  if(result==200) 
  {  
    return true; 
  } 
  xmlhttp = null; 
  return false; 
}

//禁止FSO 

1.登出組件 
regsvr32 /u scrrun.dll 
2.修改PROGID 
HKEY_CLASSES_ROOT\Scripting.FileSystemObject 
Scripting.FileSystemObject 
3.對於使用object的使用者,修改HKEY_CLASSES_ROOT\Scripting. 

補充:

1、觸發事伯提交表單

樣本1:

<script language="javascript">
  function TJsub() {
  if(confirm('您確定要提交本表單嗎?'))
  return document.form1.action ="test.php?action=set";
  frm1.submit();
  else return false;
 }
</script>

<form name="form1" method="post">
  <input type="text"  name="text1" value="測試文字1">
  <input type="text"  name="text2" value="測試文字2"  onClick="TJsub()>
  <input type="submit" name="submit1" value="提 交"">
</form>

2、onchange與onclick的事件觸發

onchange大多用在下拉式清單的觸發事件中,重點在“改變”即觸發事件。如頁面的跳轉等。而onclick強調“點擊”,即點擊即觸發事件,用途廣泛。

用法比較簡單,就不做樣本了。

3、“onblur”當焦點離開文本控制項時,觸發動作。它常常於自動獲得焦點一起使用

4、自動獲得焦點

樣本4:

<body bgcolor="#FFFFFF" onload="document.form1.text2.focus()">
  <form name="form1" method="post">
    <input type="text"  name="text1" value="測試文字1">
    <input type="text"  name="text2" value="測試文字2"  onClick="TJsub()>
    <input type="submit" name="submit1" value="提 交"">
  </form>
</body>

5、斷行符號移動焦點(onkeydown="if(event.KeyCode == 13)event.KeyCode=9")

樣本5:

<form name="form1" method="post">
    <input type="text"  name="text1" value="測試文字1" onkeydown="if(event.KeyCode == 13)event.KeyCode=9">
    <input type="text"  name="text2" value="測試文字2"  onkeydown="if(event.KeyCode == 13)event.KeyCode=9">
    <input type="submit" name="submit1" value="提 交"">
  </form>

6、鎖定文字框(readonly)

樣本6:

<form name="form1" method="post">
    <input type="text"  name="text1" value="測試文字1" readonly>
    <input type="text"  name="text2" value="測試文字2" readonly>
    <input type="submit" name="submit1" value="提 交"">
  </form>

7、文字框中自動將小寫字母轉換大寫

樣本7:

<form name="form1" method="post">
    <input type="text"  name="text1" value="sample" style="font-variant:Small-caps" >
    <input type="text"  name="text2" style="font-variant:Small-caps" >
    <input type="submit" name="submit1" value="提 交"">
  </form>

8、當指令碼將焦點定位到一個文字框後,怎麼將游標定位文字框裡字串未尾

樣本8:

<SCRIPT> 
function  setCaretAtEnd  (field)  { 
   if  (field.createTextRange)  { 
       var  r  =  field.createTextRange(); 
       r.moveStart('character',  field.value.length); 
       r.collapse(); 
       r.select(); 
   } 

</SCRIPT> 
<FORM  NAME="aForm"> 
<INPUT  TYPE="text"  NAME="userName"  VALUE="??文字"  ONFOCUS="setCaretAtEnd(this)" > 
<INPUT  TYPE="text"  NAME="userAge"  VALUE="??文字"  ONFOCUS="setCaretAtEnd(this)" > 
</FORM> 

#javascript/ajax專欄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.