void

          關(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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 西安市| 明溪县| 闸北区| 蒲城县| 通榆县| 洮南市| 长岛县| 华亭县| 贺兰县| 广汉市| 澳门| 宾川县| 罗甸县| 兴文县| 延寿县| 远安县| 富宁县| 盖州市| 射阳县| 西乌珠穆沁旗| 襄城县| 长岛县| 长乐市| 石狮市| 汶上县| 交口县| 芮城县| 景洪市| 政和县| 瓦房店市| 江城| 肃南| 津市市| 南康市| 鄯善县| 界首市| 昌宁县| 南涧| 扬中市| 方城县| 琼结县|