2011-02-17 118 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