1

我正在尝试将下拉列表选择的值存储到 cookie。

这里发生的是我有 2 个下拉列表。当我从 2 个下拉列表中选择值并单击提交按钮时,我在下拉列表中选择的 2 个值应该存储在 cookie 中。

我怎样才能做到这一点?

这是我用过的代码..

Javascript代码:

function CreateCookie()
{
   if( document.myform.genre.value == "" ){
      alert("Select some value!");
      return;
   }


   cookievalue1= escape(document.myform.genre.value) + ";";
   document.cookie="genre=" + cookievalue1;
   alert("Setting Cookies : " + "genre=" + cookievalue1 );

   cookievalue2= escape(document.myform.movie.value) + ";";
   document.cookie="movie=" + cookievalue2; 
   alert("Setting Cookies : " + "movie=" + cookievalue2 );


}

HTML 代码

<table border="0" class="preference">
<tr>
<td>
Genre:&nbsp;
<select class="director" name="genre" id="genre">
<option>-----------</option>
<option value="ActionMovies">Action Movies</option>
<option value="Horror Movies">Horror Movies</option>
<option value="Comedy">Comedy</option>
</select>
</td>
<td>
Movie:&nbsp;<select id="movie" name="movie">
<option value="">-----Select----</option>
<option value="">Paranormal Activity</option>
<option value="">Johnny English</option>
<option value="">Avengers</option>
<option value="">Grave Encounters</option>
<option value="">Rio</option>
</select>
</td>
<td><input type="submit" name="submit" value="submit" onclick="CreateCookie();"></td></tr>
</table>

onclick 我正在调用这个函数..

这里只有一个值显示在警报中。第二个值在警报中显示为空。

4

1 回答 1

0

您不应将这些信息保存在普通 cookie 中。如果用户清除浏览器缓存,正常的 cookie 可能会丢失。

您最好将这些信息保存在由会话 cookie 标识的数据库中。间接地,它就像一个会话cookie,如果您删除浏览器缓存,通常不会被删除。此外,如果您从另一个浏览器中识别用户,您也可以在那里进行这些自定义。

于 2013-10-08T11:29:00.937 回答