如何将2个值存储到cookie中

时间:2013-10-08 11:08:25

标签: javascript html5 cookies

我正在尝试将下拉列表选择的值存储到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我正在调用此函数..

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

1 个答案:

答案 0 :(得分:0)

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

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