工程分享-帶參數跳轉等內容

来源:http://www.cnblogs.com/lujun1949/archive/2016/07/27/5712727.html
-Advertisement-
Play Games

首先,在製作網頁中,想實現在點擊提交按鈕後,根據當前按鈕的不同,將按鈕信息附加到鏈接的後邊,如下圖所示: 上圖中,鏈接後的id=LJQ,就是實現帶參數跳轉,之後便於在跳轉頁根據id=X;根據x不同,實現不同載入圖片等內容; 接下來是如何實現帶參數跳轉: 接下來講解,如何對帶參數鏈接進行解析呢? 解釋 ...


首先,在製作網頁中,想實現在點擊提交按鈕後,根據當前按鈕的不同,將按鈕信息附加到鏈接的後邊,如下圖所示:

上圖中,鏈接後的id=LJQ,就是實現帶參數跳轉,之後便於在跳轉頁根據id=X;根據x不同,實現不同載入圖片等內容;

接下來是如何實現帶參數跳轉:

 1 $('.detailChart').on( "click", function () {
 2                  //編寫點擊對應的事件
 3         var result={
 4                 "name":jQuery(this).attr("id")
 5         }        //該方法也就是上一個工程分享的:格式化對象
 6            $.ajax({
 7                   //ajax方式發送請求
 8                type: "POST",
 9                url: "postIndName.action",
10                dataType:"text",
11                   //ajax返回值設置為text(json格式也可用它返回,可列印出結果,也可設置成json)
12                data:result,
//result中包含著獲取到的id信息 13 success: function(json){ 14 var url=window.location.pathname; 15 if(url=='/PEEMES/xitongfenxi.jsp') 16 self.location='/PEEMES/xitongzhibiao.jsp?id='+result.name;
//在該處實現帶參數的鏈接 17 } 18 }); 19 });

接下來講解,如何對帶參數鏈接進行解析呢?

1     var a=getQueryString("id");
2     function getQueryString(name){  
3            //正則表達式方法獲得url中?後的參數值
4     var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)","i");
5     var r=window.location.search.substr(1).match(reg);
6     if(r!=null) return unescape(r[2]);
7     return null;
8 }

解釋:

      首先理解定義的正則表達式,(^|&)意思是從頭開始匹配字元&, =([^&]*)意思是匹配=後面零個或多個不是&的字元,直至碰到第一個&為止,(&|$)意思就是匹配最後一個&,在正則表達式中,增加一個()代表著匹配數組中增加一個值, 因此代碼中的正則匹配後數組中應包含4個值, 在getQueryString("name")函數中,此時 r 獲取到的數組應該是 ["name=elephant&", "", "elephant", "&"]

  代碼中 window.location.search 意思是取window.location中 '?'後面的值包括'?',因此所得到的值是"?name=elephant&age=25&sex=male"

  substr()這個函數的作用是截取字元串,在代碼中window.location.search.surstr(1) 意思就是截取第一個字元後面的字元串,所得到的值即是"name=elephant&age=25&sex=male"

      unescape這個函數的作用是解碼escape編碼後的字元串

如何實現獲得url中所有信息?

 1 function parse_url(_url){ //定義函數
 2   var pattern = /(\w+)=(\w+)/ig;//定義正則表達式
 3   var parames = {};//定義數組
 4   url.replace(pattern, function(a, b, c){
 5     parames[b] = c;
 6   });
 7   return parames;//返回這個數組.
 8 }
 9 
10 var  url = "http://www.baidu.com?name=elep&age=25&sex=male" 
11 var params = parse_url(url);// ["name=elep", "age=25", "sex=male"]

       當replace匹配到name=elep時.那麼就用執行function(a,b,c);其中a的值為:name=elep,b的值為name,c的值為elep;(這是反向引用.因為在定義正則表達式的時候有兩個子匹配.),然後將數組的key為name的值賦為elephant;然後完成.

  再繼續匹配到age=25;此時執行function(a,b,c);其中a的值為:age=25,b的值為age,c的值為25;然後將數組的key為id的值賦為25.  

   接下來,可以根據不一樣的參數信息,得到進行不同實現:

 1          //Jquery實現不同載入圖片
 2          var b=a.split("_");
 3        //對獲取到的含有變數的a進行處理;
 4     if(a=="DG_XT_004")
 5         {
 6           src=src+"energy.bmp";//載入圖片名為energy.bmp
 7           $(".expression").html("123");//表達式為:123
 8         }
 9     else if(a=="DG_XT_005"){
10         src=src+"yield.bmp";//載入圖片名為:yield.bmp
11         $(".expression").html("456");//表達式為:465
12     }
13         

    一個小小的實現,希望與大家同學習,共進步~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 說到詭異事件發生的原因,自然是想到兩者之間的差異性。 首先是效果: jquery中有fadeIn和fadeOut兩個效果,用來實現漸隱漸顯的效果,這個在PC端自然是常用的效果。然後我們前端組的組員Mr Huang自然是想到手機頁面也可以更加炫麗,於是加上了登錄框的漸隱效果。給用戶緩衝的效果不錯。 但 ...
  • 1、jQuery的基本概念 1.1、什麼是jQuery js的方法庫,封裝了很多js的方法,需要的時候可以直接調用 1.2、使用jQuery的三個步驟 js:當頁面所有元素包括圖片,樣式文件,等所有資源都載入完才開始執行; jQuery:當頁面的文檔樹載入完成後就會執行,並不會等所有的文件都載入完成 ...
  • 一、前言 如果將前端比喻成一人,那麼Html就是這個人的骨骼脈絡,CSS則是這個人的身上的裝飾,JavaScript則是這個人的行為。作為一種腳本語言JavasSript具有著弱類型等特點。(在這裡我們要有一個明顯的認識JavasSript和Java是完全不同的兩種語言,他們之前一毛錢關係都沒有。之 ...
  • JavaScript第一天 1.前端三層 HTML 結構層 語義 骨架 css 表現層 審美 衣服 JavsScript 行為層 行為交互 動作 2.轉義字元\r\n\t \r return 回車符 \n new line 換行符 console.log可用 \t 製表符 \ 轉義字元 3.進位 0 ...
  • 如果元素有屬性 'position:absolute',containing block 由最近的 position 不是 static 的祖先建立,按下麵的步驟: 1、如果祖先是塊級元素,containing block 由祖先的 padding edge(除 margin, border 外的區 ...
  • 演示地址:http://admintemplate.webplus.org.cn/ v1.0 (2016/7/27) 扁平化風格 全屏支持 後臺管理不使用iframe,全ajax開發 許可權管理 商品管理 整合ckeditor及ckfinder 集成highcharts圖表插件 任何地方實現文件的上傳 ...
  • ECMAScript 變數:1.基本類型值(簡單數據段) 2.引用類型值(可能由過個值構成的對象) → 保存在記憶體中的對象 動態屬性: 只能給引用型值動態添加新屬性,以便將來使用。 複製變數值 : 基本類型值的複製 → 在變數對象上創建一個新值 → 複製給新變數(互不影響) 引用類型值的複製 → 將 ...
  • 序 聽過JS,聽過Node,也聽過Node.js,還聽過npm,然而並不是很清楚的知道都代表什麼,這兩天調介面,然後前端同學很忙,就自己把前端代碼拿過來跑了,也趁機瞭解一下這幾個概念,下邊做個小的總結吧。 Node和Node.js JS就不用說了,一種解釋型語言,前端用的較多,目前也出現在伺服器端。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...