Javascript技术技巧大全(五)

  //POST代替FORM

  <SCRIPT language="VBScript">

  Function URLEncoding(vstrIn)

  strReturn = ""

  For i = 1 To Len(vstrIn)

  ThisChr = Mid(vStrIn,i,1)

  If Abs(Asc(ThisChr)) < &HFF Then

  strReturn = strReturn & ThisChr

  Else

  innerCode = Asc(ThisChr)

  If innerCode < 0 Then

  innerCode = innerCode + &H10000

  End If

  Hight8 = (innerCode  And &HFF00) &HFF

  Low8 = innerCode And &HFF

  strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)

  End If

  Next

  URLEncoding = strReturn

  End Function

  Function bytes2BSTR(vIn)

  strReturn = ""

  For i = 1 To LenB(vIn)

  ThisCharCode = AscB(MidB(vIn,i,1))

  If ThisCharCode < &H80 Then

  strReturn = strReturn & Chr(ThisCharCode)

  Else

  NextCharCode = AscB(MidB(vIn,i+1,1))

  strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))

  i = i + 1

  End If

  Next

  bytes2BSTR = strReturn

  End Function

  dim strA,oReq

  strA = URLEncoding("submit1=Submit&text1=中文")

  set oReq = CreateObject("MSXML2.XMLHTTP")

  oReq.open "POST","http://ServerName/VDir/TstResult.asp",false

  oReq.setRequestHeader "Content-Length",Len(strA)

  oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"

  oReq.send strA

  msgbox bytes2BSTR(oReq.responseBody)

  </SCRIPT>

  //readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

  //组件是否安装

  isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))

  //检查网页是否存在

  function CheckURL(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;

  }

  //连接数据库

  <script language="javascript">

  //用 JavaScript 写服务器端连接数据库的代码示例

  var conn = new ActiveXObject("ADODB.Connection");

  conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "

  +"Password=; Initial Catalog=pubs");

  var rs = new ActiveXObject("ADODB.Recordset");

  var sql="select * from authors";

  rs.open(sql, conn);

  shtml = "<table width='100%' border=1>";

  shtml +="<tr bgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td> city</td><td>state</td><td>zip</td></tr>";

  while(!rs.EOF)

  {

  shtml += "<tr><td>" + rs("au_id") + "</td><td>" + rs("au_lname") + "</td><td>" + rs("au_fname") + "</td><td>" + rs("phone") + "</td><td>" + rs("address") + "</td><td>" + rs("city") + "</td><td>" + rs("state") + "</td><td>" + rs("zip") + "</td></tr>";

  rs.moveNext;

  }

  shtml += "</table>";

  document.write(shtml);

  rs.close();

  rs = null;

  conn.close();

  conn = null;

  </script>

  //使用数据岛

  <html>

  <body>

  srno:<input type=text datasrc=#xmldate DataFLD=srno size="76"><BR>

  times:<input type=text datasrc=#xmldate DataFLD=times size="76"><BR>

  <input id="first" TYPE=button value="<< 第一条记录" onclick="xmldate.recordset.moveFirst()">

  <input id="prev" TYPE=button value="<上一条记录" onclick="xmldate.recordset.movePrevious()">

  <input id="next" TYPE=button value="下一条记录>" onclick="xmldate.recordset.moveNext()">

  <input id="last" TYPE=button value="最后一条记录>>" onclick="xmldate.recordset.moveLast()">

  <input id="Add" TYPE=button value="添加新记录" onclick="xmldate.recordset.addNew()">

  <XML ID="xmldate">

  <infolist>

  <info ><srno>20041025-01</srno><times>null</times></info>

  <info ><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info>

  </infolist>

  </XML>

  </body>

  </html>

  //获得参数

  <body>

  <a href="javascript:location.href=location.href + '?a=1&b=2'">search</a>

  <script language="JavaScript">

  <!--

  var a = location.search.substr(1);

  if(a.length>0)

  {

  var re = /([^&]*?)=([^&]*)/g

  var s = a.match(re);

  for(var i= 0;i<s.length;i++)

  {

  alert(s[i]);

  alert(s[i].split("=")[1]);

  }

  }

  //-->

  </script>

  </body>

  //可编辑SELECT

  <input type=text name=re_name style="width:100px;height:21px;font-size:10pt;"><span style="width:18px;border:0px solid red;"><select name="r00" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" onChange="document.all.re_name.value=this.value;">

  <option value="1">11111111<option>

  <option value="2">222222</option>

  <option value="3">333333</option>

  </select>

  </span>