您好我正在做一个购物车。我需要知道当用户更改选项时,即使刷新页面后,新选项也应设置为默认值。我该怎么做?请帮我
问问题
1006 次
3 回答
2
当用户选择选项时,尝试将选项保存在cookie or a session by using a ajax call
.
因此,即使页面被刷新,如果设置了 cookie 或 session 变量,那么您可以使用该"selected"
属性将其设为默认值。
于 2013-10-29T08:50:18.337 回答
0
您只能使用 javascript 来完成。在这里,我最喜欢使用用于 javascript 的 jquery 库。
*逻辑
当用户从下拉列表中选择时,您可以将数据保存在 cokkie 中,并且在页面加载时,您可以从 cokkie 中检索值并将其设置回选项中。
通过使用这个插件,你可以轻松做到这一点
查看插件: https ://github.com/carhartl/jquery-cookie
$(document).ready(function() {
if (jQuery.cookie('choosed')) { // checking if cokkie exist
$('<selector select>').val($.cookie("choosed")); // assiging value in select box
}
});
在提交表单时,您可以使用删除 cookie
if (jQuery.cookie('choosed')) { // checking if cokkie exist
$.removeCookie("test");
}
并且select 的onchange事件可以通过这样做来设置。
$.cookie("choosed",$('<selector select>').val(); , {
expires : 10, //expires in 10 days
path : '/', //The value of the path attribute of the cookie
//(default: path of page that created the cookie).
domain : 'jquery.com', //The value of the domain attribute of the cookie
//(default: domain of page that created the cookie).
secure : true //If set to true the secure attribute of the cookie
//will be set and the cookie transmission will
//require a secure protocol (defaults to false).
});
于 2013-10-29T08:57:40.783 回答
0
您应该有一个Auto Save,它将使用 ajax 定期将变量发送到服务器。不要将它们保存到数据库中,而是将它们保存在 SESSION 或 cookie 中。
下面是一种使用会话来实现它的方法。
例子 :
<form action="backend.php" method="post">
Name : <input name="name" id="name_input" class="savable" value=<?php echo $_SESSION['save_name'];?>/> <br />
Father's name : <input name="fathername" id="fathername_input" class="savable" value=<?php echo $_SESSION['save_fathername'];?>/>
</form>
您可能需要检查是否为变量value
字段设置。
脚本:
function autoSave(){
$(".savable").each(function(){
$.ajax("save.php",{id:this.id, value:this.val()});
});
}
上述函数应使用 . 定期调用setInterval()
。
保存.php:
$key = $_POST["id"];
$val = $_POST["value"];
$_SESSION["save_".$key] = $val;
希望这可以帮助。
于 2013-10-29T09:08:00.193 回答