2

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

值如下

  • 小号
  • 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); 
  }

提前感谢您的帮助。

4

1 回答 1

0

您正在使用两个参数函数并将 3 个参数传递给它

你应该使用

  function storeValues() { 
    setCookie("ATGDevicePrefs", devicePrefs.deviceType.value +
              devicePrefs.deviceType.skipSeat); 
  }
于 2013-03-14T15:22:09.567 回答