void

关于Html传递参数的问题的一些参考代码

1.

我们知道,在服务器端asp程序可以接受html页面上的form传来的参数。

那么,可不可以传递参数给html页面呢。可以。

下面是javascript的一种实现方法, 这个函数是通过window.location.href中的分割符获得各个参数。

有了这个函数,就可以在页面之间传递参数了。

/*
*函数功能:从href获得参数
*sArgName:arg1, arg2
*return:   the value of arg. d, re
*/
function GetArgsFromHref(sHref, sArgName)
{
     var args   = sHref.split("?");
     var retval = "";
  
     if(args[0] == sHref) /*参数为空*/
     {
          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.
一个用HTML传递参数的方法。
<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
然后执行 word.htm?word=im286
可以看到参数传递过来了。
这里的 word 是随便定的,你可以改成任何参数。
有多个参数可以以此类推,例如:

word=Request["word"]
word1=Request["word1"]
word2=Request["word2"]
...
document.write (word);
document.write (word1);
document.write (word2);
...

一般情况下没什么用,但可以用于一些有特别需要的地方。

 

3.
如果使用HTML传递和接收参数值
出自:c#天堂
作者:heilong05
时间:2006-11-02
字体: 大 中 小
如果使用HTML传递和接收参数值?
将以下代码另存为HTML文件:alixixi.htm,然后打开站点:
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 "没有这个参数";
}
alert("日记编号:" GetQueryString("log_id"));
alert("分类编号:" GetQueryString("cat_id"));
alert("所在页数:" GetQueryString("page"));
-->
</script>

 

4.html文件URL传递参数
     针对在IPS和CMS模板制作中,对于网页顶部的一些公用元素如网站的菜单导航条之类,特别是导航菜单包含对网页当前位置确认的标识颜色或者其他的时候,这部分网页头部不能共享调用,每个模板都需要单独做这部分,对于以后加菜单栏目,所有的包含菜单导航的页面都需要修改,这样工作就比较繁琐,目前迈博网和SFDA英文版,台湾网都提出了这个要求。
写了一个JS,来控制这部分,修改一个JS文件就可以控制整个网站的菜单导航,也许还有部全面的地方。
     下面是简单原理的JS代码:
     var myurl;

if (document.location.search == """"){
myurl= """";
}
else{
myurl= document.location.search.substr(1,1);//最后一个数字是控制传递参数的位数
}
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引用到网页中就可以了,然后在具体菜单的连接这样写*.html?01,01就为要传递的参数

posted on 2009-06-13 08:49 void 阅读(834) 评论(0)  编辑  收藏 所属分类: JsHtml


只有注册用户登录后才能发表评论。


网站导航: