作者cjoe (cjoe)
看板Web_Design
标题Re: [问题] JavaScript 的网页参数输入 (从html)
时间Mon Sep 4 11:03:44 2006
※ 引述《logs ()》之铭言:
: 请问要如何让 JavaScript 可以读取类似环境变数的参数?
: 像是这样:
: http://6rz.hahapoint/find.htm?q=shows&n=1059
: 如上,这样的网址很像是 php 的功能
: 但内部 find.htm 却以 JavaScript 来实做此功能
: --------------------------------------------------
: <html>
: <head>
: <script>
: function readline(){
: var QWord=q;
: var Number=n;}
: <script>
: </head>
: <body onload="javascript:readline()">
: <a href="javascript:alert(QWord)">test</a>
: </body>
: </html>
: --------------------------------------------------
: PS: 若要进行测试,请使用 files:///c:/123/find.htm?q=1&n=2
: 这样的网址,否则 C:\123\find.htm?q=1&n=2 这样子 IE 会无法读取
: 大致上如此,可是要怎麽样才能读取於网址列所输入的参数呢?
: 现在最大的问题,在於标示成黄色的那两行程式码
: 很显然需要某种函式才能将 "网址列的参数" 读取进来
: 恳请赐教!
function get_url_argument(argument_name)
{
var url = location.href;
if(url.match(/\?/g) != null)
{
var tmp = url.split("\?");
if(tmp[1].match(/&/g) != null)
{
var tmp2 = tmp[1].split("&");
var url_value = new Array(tmp2.length);
var url_name = new Array(tmp2.length);
for(var i = 0;i < tmp2.length;i++)
{
var xx = tmp2[i].split("=");
url_name[i] = xx[0];
url_value[i] = xx[1];
}
for(var i = 0;i<url_name.length;i++)
if(url_name[i] == argument_name)
return url_value[i];
}
else
{
var tmp2 = tmp[1].split("=");
var url_name = tmp2[0];
var url_value = tmp2[1];
if(argument_name == url_name)
return url_value;
}
return "";
}
else
return "";
}
使用方法
var q_val = get_url_argument('q');
以前一个case需求,临时写出来的,如果有错也麻烦您回报给我一下,
或者有演算法的改进也麻烦请您分享 :D
这样大家才会进步
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.213.53
※ 编辑: cjoe 来自: 140.130.213.53 (09/04 11:04)