将表单数据存储为单个cookie

时间:2013-03-14 15:17:50

标签: javascript

我在我的网站上设置了一个cookie,告诉我人们正在使用什么类型的设备。

值如下

  • 取值
  • M
  • T
  • d

cookie的值可以是MS,TS或DS。

我想创建一个表单,用户可以手动更新cookie,当他们提交表单时,它会更新cookie,但我也希望表单已经选择了当前的cookie值。

我尝试了这段代码,但我得到了一个未定义的cookie值。

继承表格

<form name="devicePrefs">
    <input type="radio" name="deviceType" value="D">Desktop<br>
    <input type="radio" name="deviceType" value="T">Tablet<br>
    <input type="radio" name="deviceType" value="M">Mobile<br>
    <input type="checkbox" name="skipSeat" value="S">Skip Seating Plan<br>
    <input type="button" value="Set to Cookie" onClick="storeValues()">
</form>

这是我使用的javascript

 var today = new Date();
 var expiry = new Date(today.getTime() + 30 * 24 * 3600 * 1000); // plus 30 days 
 function setCookie(name, value) { 
    document.cookie=name + "=" + escape(value) + "; path=/; expires=" + expiry.toGMTString(); 
 }

  function storeValues() { 
    setCookie("ATGDevicePrefs", devicePrefs.deviceType.value, devicePrefs.deviceType.skipSeat); 
  }

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您正在使用两个参数函数并向其传递3个参数

你应该使用

  function storeValues() { 
    setCookie("ATGDevicePrefs", devicePrefs.deviceType.value +
              devicePrefs.deviceType.skipSeat); 
  }