關(guān)于Html傳遞參數(shù)的問題的一些參考代碼
1.
我們知道,在服務(wù)器端asp程序可以接受html頁面上的form傳來的參數(shù)。
那么,可不可以傳遞參數(shù)給html頁面呢??梢?。
下面是javascript的一種實(shí)現(xiàn)方法, 這個(gè)函數(shù)是通過window.location.href中的分割符獲得各個(gè)參數(shù)。
有了這個(gè)函數(shù),就可以在頁面之間傳遞參數(shù)了。
/*
*函數(shù)功能:從href獲得參數(shù)
*sArgName:arg1, arg2
*return: the value of arg. d, re
*/
function GetArgsFromHref(sHref, sArgName)
{
var args = sHref.split("?");
var retval = "";
if(args[0] == sHref) /*參數(shù)為空*/
{
return retval; /*無需做任何處理*/
}
var str = args[1];
args = str.split("&");
for(var i = 0; i < args.length; i ++)
{
str = args[i];
var arg = str.split("=");
if(arg.length <= 1) continue;
if(arg[0] == sArgName) retval = arg[1];
}
return retval;
}
2.
一個(gè)用HTML傳遞參數(shù)的方法。
<script>
function QueryString()
{
var name,value,i;
var str=location.href;
var num=str.indexOf("?")
str=str.substr(num+1);
var arrtmp=str.split("&");
for(i=0;i < arrtmp.length;i++){
num=arrtmp[i].indexOf("=");
if(num>0){
name=arrtmp[i].substring(0,num);
value=arrtmp[i].substr(num+1);
this[name]=value;
}
}
}
var Request=new QueryString();
word=Request["word"]
document.write (word);
</script>
將以上代碼保存為 word.htm
然后執(zhí)行 word.htm?word=im286
可以看到參數(shù)傳遞過來了。
這里的 word 是隨便定的,你可以改成任何參數(shù)。
有多個(gè)參數(shù)可以以此類推,例如:
word=Request["word"]
word1=Request["word1"]
word2=Request["word2"]
...
document.write (word);
document.write (word1);
document.write (word2);
...
一般情況下沒什么用,但可以用于一些有特別需要的地方。
3.
如果使用HTML傳遞和接收參數(shù)值
出自:c#天堂
作者:heilong05
時(shí)間:2006-11-02
字體: 大 中 小
如果使用HTML傳遞和接收參數(shù)值?
將以下代碼另存為HTML文件:alixixi.htm,然后打開站點(diǎn):
http://127.0.0.1/alixixi.htm?log_id=111&cat_id=222&page=333
回車即可顯示演示效果,正常接收由HTML文件傳遞的值.
<script language="JScript">
<!-
var LocString=String(window.document.location.href);
function GetQueryString(str){
var rs=new RegExp("(^|)" str "=([^\&]*)(\&|$)","gi").exec(LocString),tmp;
if(tmp=rs)return tmp[2];
return "沒有這個(gè)參數(shù)";
}
alert("日記編號(hào):" GetQueryString("log_id"));
alert("分類編號(hào):" GetQueryString("cat_id"));
alert("所在頁數(shù):" GetQueryString("page"));
-->
</script>
4.html文件URL傳遞參數(shù)
針對(duì)在IPS和CMS模板制作中,對(duì)于網(wǎng)頁頂部的一些公用元素如網(wǎng)站的菜單導(dǎo)航條之類,特別是導(dǎo)航菜單包含對(duì)網(wǎng)頁當(dāng)前位置確認(rèn)的標(biāo)識(shí)顏色或者其他的時(shí)候,這部分網(wǎng)頁頭部不能共享調(diào)用,每個(gè)模板都需要單獨(dú)做這部分,對(duì)于以后加菜單欄目,所有的包含菜單導(dǎo)航的頁面都需要修改,這樣工作就比較繁瑣,目前邁博網(wǎng)和SFDA英文版,臺(tái)灣網(wǎng)都提出了這個(gè)要求。
寫了一個(gè)JS,來控制這部分,修改一個(gè)JS文件就可以控制整個(gè)網(wǎng)站的菜單導(dǎo)航,也許還有部全面的地方。
下面是簡(jiǎn)單原理的JS代碼:
var myurl;
if (document.location.search == """"){
myurl= """";
}
else{
myurl= document.location.search.substr(1,1);//最后一個(gè)數(shù)字是控制傳遞參數(shù)的位數(shù)
}
switch (myurl) {
case ""1"" :
bgcolur=""red""
break;
case ""2"" :
bgcolur=""blue""
break;
case ""3"" :
bgcolur=""green""
break;
default :
bgcolur=""white""
break;
}
var m_array = new Array();
m_array[1]=""菜單一""
m_array[2]=""菜單二""
m_array[3]="" 菜單三""
document.write(""<table cellspacing=3 cellpadding=3 border=0 align=center>"");
document.write(""<tr>"");
for (i = 1; i < 4; i++) {
document.write(""<td"")
if(i==myurl){
document.write("" bgcolor=""+bgcolur+""><a href=test.html?""+i+""> ""+m_array[i]+""</a></td>"");
}
else{
document.write(""><a href=test.html?""+i+""&ww=2> ""+m_array[i]+""</a></td>"");
}
}
document.write(""</tr>"");
document.write(""</table>"");
然后將這段JS引用到網(wǎng)頁中就可以了,然后在具體菜單的連接這樣寫*.html?01,01就為要傳遞的參數(shù)
posted on 2009-06-13 08:49 void 閱讀(859) 評(píng)論(0) 編輯 收藏 所屬分類: Js 、Html