2011-02-17 3 views
3

Salut j'ai un petit problème. Actuellement, j'ai 2 paramètres enregistrés dans le cookie de navigateur qui sont ... et LOC volume moyen quotidien Maintenant, j'ai une page avec un formulaire et la forme a obtenu deux champs cachés:obtenir la valeur du paramètre de cookie

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

Je dois obtenir les valeurs de adv et localiser le cookie et les enregistrer dans les champs de formulaire cachés ... Comment puis-je faire cela s'il vous plaît? Merci

+0

double possible de [Toute façon la plus simple pour obtenir la valeur de cookie javascript] (http://stackoverflow.com/questions/1928118/any-simplest-way- to-get-cookie-value-in-javascript) –

Répondre

5

document.cookie vous obtiendrez tous les cookies dans le format suivant:

'adv=adv_val; loc=loc_val;' 

Pour obtenir une valeur d'un cookie, vous pouvez utiliser cette fonction (de 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; 
} 

Pour Remplissez les champs cachés, vous pouvez boucler tous les champs cachés, et obtenir leurs cookies respectifs:

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); 
     } 
    } 
} 

Ensuite, modifiez <body> pour avoir un onload.

<body onload="hiddenCookies()"> 

Ou avec jQuery:

$(function(){ 
    $('input:hidden').each(function(i,v){ 
     v.value = readCookie(v.name); 
    }); 
}); 
+0

merci :) alors comment puis-je insérer les valeurs adv et loc dans les champs s'il vous plaît? –

+0

alors cela fonctionne automatiquement? Si je crée un fichier .js et le relie de la page, puis j'insère les deux champs cachés, il est censé fonctionner automatiquement? –

+0

Oui, il devrait, tant qu'il est exécuté après que le DOM est prêt. –

Questions connexes