2

私のサイトには、人々が使用しているデバイスの種類を示すCookieが設定されています。

値は次のとおりです

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

助けてくれてありがとう。

4

1 に答える 1

0

2 つのパラメータ関数を使用しており、それに 3 つの引数を渡します

あなたが使用する必要があります

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