婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 詳解前端在html頁(yè)面之間傳遞參數(shù)的方法

詳解前端在html頁(yè)面之間傳遞參數(shù)的方法

熱門(mén)標(biāo)簽:商丘電話自動(dòng)外呼系統(tǒng)怎么收費(fèi) 朝陽(yáng)自動(dòng)外呼系統(tǒng) 默納克系統(tǒng)外呼顯示inns 東莞人工外呼系統(tǒng)多少錢(qián) 400電話辦理尚景 400電話是在哪里申請(qǐng) 周口導(dǎo)航地圖標(biāo)注 昌邑外呼系統(tǒng) 地圖標(biāo)注地點(diǎn)下載

項(xiàng)目中經(jīng)常會(huì)出現(xiàn)的一種情況,有一個(gè)列表,譬如是案例列表,點(diǎn)擊列表中的某一項(xiàng),跳轉(zhuǎn)至詳情頁(yè)面。詳情是根據(jù)所點(diǎn)擊的某條記錄生成的,因?yàn)榘咐途唧w的詳情頁(yè)面,都是用戶后期自行添加的,我們開(kāi)始編寫(xiě)時(shí),不可能窮盡。因此跳轉(zhuǎn)頁(yè)面時(shí),我們需要傳遞一個(gè)參數(shù)過(guò)去,這樣我們才能通過(guò)這個(gè)參數(shù)進(jìn)行數(shù)據(jù)請(qǐng)求,然后根據(jù)后臺(tái)返回的數(shù)據(jù)來(lái)生成頁(yè)面。因此,通過(guò)a標(biāo)簽跳轉(zhuǎn)的方式,肯定是行不通的。
我們經(jīng)常寫(xiě)form表單,提交時(shí),可以傳遞參數(shù),如果使用表單,并將其隱藏起來(lái),應(yīng)該可以達(dá)到效果。

除此以外,window.location.href和window.open也可以達(dá)到效果。

1、通過(guò)form表單傳遞參數(shù)

<html lang="en">
    <head>
    <!--網(wǎng)站編碼格式,UTF-8 國(guó)際編碼,GBK或 gb2312 中文編碼-->
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <meta name="Keywords" content="關(guān)鍵詞一,關(guān)鍵詞二">
        <meta name="Description" content="網(wǎng)站描述內(nèi)容">
        <meta name="Author" content="Yvette Lau">
        <title>Document</title>
        <!--css js 文件的引入-->
        <!-- <link rel="shortcut icon" href="images/favicon.ico">        -->
        <link rel="stylesheet" href=""/>
        <script type = "text/javascript" src = "jquery-1.11.2.min.js"></script> 
    </head>
    <body>      
        <form name = "frm" method = "get" action = "receive.html" onsubmit = "return foo()" style = "position:relative;">
            <input type="hidden"  name="hid" value = "" index = "lemon"> 
            <img class = "more" src = "main_jpg10.png" />
            <input type = "submit" style = "position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;"/>
        </form>     
        <form name = "frm" method = "get" action = "receive.html" onsubmit = "return foo()" style = "position:relative;">
            <input type="hidden"  name="hid" value = "" index = "aaa"> 
            <img class = "more" src = "main_jpg10.png" />
            <input type = "submit" style = "position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;"/>
        </form>
        <form name = "frm" method = "get" action = "receive.html" onsubmit = "return foo()" style = "position:relative;">
            <input type="hidden"  name="hid" value = "" index = "bbb"> 
            <img class = "more" src = "main_jpg10.png" />
            <input type = "submit" style = "position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;"/>
        </form>
    </body>
</html>
<script>
    function foo(){
        var frm = window.event.srcElement;
        frm.hid.value = $(frm.hid).attr("index"); 
        return true;
    }
</script>

點(diǎn)擊圖片時(shí),跳轉(zhuǎn)至receive.html頁(yè)面。頁(yè)面的url變成:

 

我們想要傳的字符串已經(jīng)傳遞了過(guò)來(lái)。

然后再對(duì)當(dāng)前的url進(jìn)行字符串分割

window.location.href.split(“=”)[1]//得到lemon 

我們拿到需要傳來(lái)的參數(shù)之后,就可以根據(jù)這個(gè)進(jìn)行下一步的處理了。

除了上述通過(guò)字符串分割來(lái)獲取url傳遞的參數(shù)外,我們還可以通過(guò)正則匹配和window.location.search方法來(lái)獲取。

2、通過(guò)window.location.href

譬如我們點(diǎn)擊某個(gè)列表,需要傳遞一個(gè)字符串到detail.html頁(yè)面,然后detail.html頁(yè)面根據(jù)傳來(lái)的值,通過(guò)ajax交互數(shù)據(jù),加載頁(yè)面的內(nèi)容。

var index = "lemon"; var url = "receive.html?index="+index; $("#more").click(function(){ window.location.href = url; });

當(dāng)前頁(yè)面會(huì)被替換成recieve.html的頁(yè)面,頁(yè)面的url變?yōu)椋?/p>

 

然后我們?cè)儆蒙厦娴姆椒ㄌ崛∽约盒枰膮?shù)

3、通過(guò)window.location.open

如果是希望打開(kāi)一個(gè)新頁(yè)面,而不是改變當(dāng)前的頁(yè)面,那么window.location.href就不適用了,此時(shí),我們需要借助于window.location.open()來(lái)實(shí)現(xiàn)

簡(jiǎn)單介紹有一下window.open()函數(shù),window.open()有三個(gè)參數(shù),第一個(gè)參數(shù)是要打開(kāi)的頁(yè)面的url,第二個(gè)參數(shù)是窗口目標(biāo),第三個(gè)參數(shù)是一個(gè)特定字符串以及一個(gè)表示新頁(yè)面是否取代瀏覽器歷史集中當(dāng)前加載頁(yè)面的布爾值,通過(guò)只需要傳遞第一個(gè)參數(shù)。第二個(gè)參數(shù)還可以是”_blank”,”_self”,”_parent”,”_top”這樣的特殊窗口名稱,”_blank”打開(kāi)新窗口,”_self”實(shí)現(xiàn)的效果同window.location.href.

繼續(xù)上面的例子:

<script>
    var index = "lemon";
    var url = "receive.html?index="+index;
    $("#more").click(function(){
        window.open(url)
    });
</script>

這樣在點(diǎn)擊的時(shí)候,就會(huì)打開(kāi)一個(gè)新頁(yè)面,頁(yè)面的url地址與上面相同。

由于瀏覽器的安全限制,有些瀏覽器在彈出窗口配置方面增加限制,大多數(shù)瀏覽器都內(nèi)置有彈出窗口的屏蔽程序,因此,彈出窗口有可能被屏蔽,在彈出窗口被屏蔽時(shí),需要考慮兩種可能性,一種是瀏覽器內(nèi)置的屏蔽程序阻止彈出窗口,那么 window.open()很可能返回Null,此時(shí),只要監(jiān)測(cè)這個(gè)返回的值就可以確定彈出窗口是否被屏蔽。

var newWin = window.open(url);
if(newWin == null){
    alert("彈窗被阻止");
}

另一種是瀏覽器擴(kuò)展或其他程序阻止的彈出窗口,那么window.open()通常會(huì)拋出一個(gè)錯(cuò)誤,因此,要像準(zhǔn)確的檢測(cè)彈出窗口是否被屏蔽,必須在檢測(cè)返回值的同時(shí),將window.open()封裝在try-catch塊中,上面的例子中可以寫(xiě)成如下形式:

<script>
    var blocked = false;
    try{
        var index = "lemon";
        var url = "receive.html?index="+index;
        $("#more").click(function(){
           var newWin = window.open(url);
           if(newWin == null){
               blocked = true;
           }
        });
    } catch(ex){
        block = true;
    }
    if(blocked){
        alert("彈出窗口被阻止");
    }    
</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:沈陽(yáng) 揭陽(yáng) 銅陵 阿拉善盟 健身房 那曲 福建 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解前端在html頁(yè)面之間傳遞參數(shù)的方法》,本文關(guān)鍵詞  詳解,前端,在,html,頁(yè)面,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解前端在html頁(yè)面之間傳遞參數(shù)的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解前端在html頁(yè)面之間傳遞參數(shù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 衡南县| 玉屏| 富源县| 惠东县| 公安县| 城步| 大兴区| 台前县| 高邮市| 墨竹工卡县| 霍林郭勒市| 获嘉县| 铜山县| 千阳县| 遵化市| 郧西县| 巴林左旗| 阿坝县| 成都市| 汉沽区| 仁布县| 海原县| 从化市| 沙洋县| 河间市| 青神县| 彭山县| 运城市| 府谷县| 乐至县| 广平县| 丹棱县| 马公市| 泽州县| 招远市| 巴中市| 东平县| 西青区| 图木舒克市| 康马县| 陆川县|