我正在尝试将下拉列表选择的值存储到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:
<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: <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中显示为空。
答案 0 :(得分:0)
您不应将这些信息保存在普通Cookie中。如果用户清除浏览器缓存,则普通cookie可能会丢失。
您最好将这些信息保存在数据库中,由会话cookie标识。间接地它就像一个会话cookie,如果删除浏览器缓存,通常不会被删除。此外,如果您从其他浏览器中识别用户,那么您也可以在那里进行自定义。