在页面加载时设置多个饼干

问题描述:

我是编程新手,我在JavaScript中使用cookies挣扎了很多,所以我使用了本教程here。我使用'创建cookie功能',但我不确定如何制作一个功能,在页面加载时将Cookie放回文本框。我看过W3学校,但仍然不知道。有任何想法吗?在页面加载时设置多个饼干

这是我用来从'多个'文本框创建cookie的创建cookie功能。

+0

你的意思是你不知道如何从document.cookie中提取你的cookies ? – sergeyz

+0

是的,我不知道如何把它们放到正确的文本框中,编号为 – Jazza132

+0

你的意思是说,你的文本框有id属性设置,你不知道如何通过它们的id属性获取你的文本框DOM元素? – sergeyz

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <h2>Working Example</h2> 

    <form name="myForm" method="get" action="JavaScriptCookies.html" onsubmit="return storeValues(this);"> 
     <fieldset> 
      <label>Field 1</label><span><input type="text" name="field1" value=""></span> 
      <label>Field 2</label><span><input type="text" name="field2" value=""></span> 
      <label>Field 3</label><span><input type="text" name="field3" value=""></span> 
      <label>Field 4</label><span><input type="text" name="field4" value=""></span> 
      <span> 
       <input type="submit" value="Set Cookies"> 
       <input type="button" onclick="showCookies();" value="Retrieve Cookies"> 
      </span> 
     </fieldset> 
    </form> 
    <script type="text/javascript"> 
     function storeValues(form) 
     { 
      document.cookie = 'field1=' + form.field1.value; 
      document.cookie = 'field2=' + form.field2.value; 
      document.cookie = 'field3=' + form.field3.value; 
      document.cookie = 'field4=' + form.field4.value; 
      return true; 
     } 

     function showCookies() { 
      for (var i = 1; i <= 4; i++) { 
       x = document.getElementsByName("field" + i); 
       x[0].value = getCookie(x[0].name); 
      } 

      return true; 
     } 

     function getCookie(cname) 
     { 
      var name = cname + "="; 

      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); 
       if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
      } 

      return ""; 
     } 


    </script> 
</body> 
</html> 

http://www.w3schools.com/js/js_cookies.asp

BTW,如果欧盟需要声明的Cookie使用

<script type="text/javascript"> 
    if(field1 = getCookie("field1")) document.myForm.field1.value = field1; 
    if(field2 = getCookie("field2")) document.myForm.field2.value = field2; 
    if(field3 = getCookie("field3")) document.myForm.field3.value = field3; 
    if(field4 = getCookie("field4")) document.myForm.field4.value = field4; 
</script> 
+0

有没有这个循环? – Jazza132