JavascriptはHTML静的ページパラメータの転送値の例を取得します.

4256 ワード

私のコードを皆さんに見せてください.これらのコードをページファイルに埋め込むだけでいいです.
例1
正規表現を使って取得する
 
  
var LocString = String(window.document.location.href);
function getQueryStr(str) {
var rs = new RegExp("(^|)" + str + "=([^&]*)(&|$)", "gi").exec(LocString), tmp;
if (tmp = rs) {
return tmp[2];
}
// parameter cannot be found
return "";
}
呼び出し方法
 
  
document.getElementById("user").value = getQueryStr("user");
document.getElementById("password").value = getQueryStr("password");
document.getElementById("sysno").value = getQueryStr("sysno");
例2
スプリット関数を利用してパラメータに従って配列に切る
 
  
<br>urlinfo=window.location.href; // url <br>len=urlinfo.length;// url <br>offset=urlinfo.indexOf("?");// <br>newsidinfo=urlinfo.substr(offset,len)// “id=1” <br>newsids=newsidinfo.split("=");// “=” <br>newsid=newsids[1];// <br>alert(" "+newsid); <br>
この方法はパラメータが含まれているurlに対してだけ有効です.もし相手がPOSTメソッドを使ってパラメータを伝えるなら、urlにパラメータが含まれていないので、このテクニックはGET方法やパラメータを指定したurlだけに役に立ちます.
次は完全な例を見ます.
aa.httmはパラメータ入力画面です.
bb.httmはパラメータ受信処理画面です.
aa.httm
 
  
 
  
  
  
   <br>  function submit() <br>  { <br>  var input1 = document.getElementById("inputid"); <br>  window.open("bb.htm?inputStr=" + input1.value);// <br>  } <br>  
  
  
  
  
  bb.htm:
  
  
   <br>  // <br>  var request = <br>  { <br>  QueryString : function(val) <br>  { <br>  var uri = window.location.search; <br>  var re = new RegExp("" +val+ "=([^&?]*)", "ig"); <br>  return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null); <br>  } <br>  } <br>  
  
  
   <br>  // <br>  var rt = request.QueryString("inputStr"); <br>  alert(rt); <br>  
  
  
bb.httm
 
  

  
  test
  
   <br>  <!-- <br>  var request = { <br>  QueryString : function(val) { <br>  var uri = window.location.search; <br>  var re = new RegExp("" +val+ "=([^&?]*)", "ig"); <br>  return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null); <br>  } <br>  } <br>  var a = request.QueryString ("a"); <br>  var b = request.QueryString ("b"); <br>  var c = request.QueryString ("c"); <br>  if ((a != null)){a=a} else{a=" A "} <br>  if ((b != null)){b=b} else{b=" B "} <br>  if ((c != null)){c=c} else{c=" C "} <br>  document.writeln(" A: " + a); <br>  document.writeln("<br> B: " + b); <br>  document.writeln("<br> C: " + c); <br>  //--> <br>  
  
  
  

   :

   <br>  document.writeln("A:<input type='text' name='a' value='"+a+"'><br>"); <br>  document.writeln("B:<input type='text' name='b' value='"+b+"'><br>"); <br>  document.writeln("C:<input type='text' name='c' value='"+c+"'><br>"); <br>