2011-02-17 151 views
3

嗨,我有一個小問題。目前,我有保存在瀏覽器的cookie,是ADV和LOC 2個參數...現在我有一個網頁形式和形式有兩個隱藏字段:從cookie獲取參數值

<input type="hidden" name="adv" value="" /> 
<input type="hidden" name="loc" value="" /> 

我需要進階的價值觀和從cookie中將loc保存並隱藏在隱藏的表單域中...我該如何做到這一點?由於

+0

可能重複http://stackoverflow.com/questions/1928118/any-simplest-way- javascript-value-in-javascript) – 2011-02-17 16:43:33

回答

5

document.cookie將讓你的所有cookie,格式如下:

'adv=adv_val; loc=loc_val;' 

爲了從cookie獲得的值,你可以使用此功能(從quirksmode):

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

要填寫隱藏字段,你可以循環所有隱藏字段,並獲得他們各自的cookie:

function hiddenCookies(){ 
    var inputs = document.getElementsByTagName('input'); 
    for(var i = 0; i < inputs.length; i++){ 
     var element = inputs[i]; 
     if(element.getAttribute('type') == 'hidden'){ 
      element.value = readCookie(element.name); 
     } 
    } 
} 

然後修改<body>以擁有onload

<body onload="hiddenCookies()"> 

或者使用jQuery:

$(function(){ 
    $('input:hidden').each(function(i,v){ 
     v.value = readCookie(v.name); 
    }); 
}); 
的([獲得在javascript cookie值的任何簡單的方式]
+0

謝謝:)那麼我怎麼在cie中插入adv和loc值呢? – 2011-02-17 16:52:58