我正在尝试将某些数据保存到cookie中,这样如果我从一个页面跳到另一个页面,输入的数据应该保存并在刷新时检索回来。 我有一个链接:
<div class="esc-policy">
<a href="#">New Link</a>
</div>
在我点击事件之前,我需要保存输入的以下数据字段:
<table class="form">
<tr>
<td class="label">
<label>Name*</label>
<input id="nameInput" type="text" maxlength="100"/>
</td>
<td class="label">
<label>Description</label>
<input id="descriptionInput" type="text" maxlength="200" >
</td>
</tr>
</table>
我有这样的东西作为我的js:
if ($.cookie('back_to_url_onPage_referesh')) {
this.name.attr("value", $.cookie('name'));
this.description.attr("value", $.cookie('description'));
}
我不确定这是如何工作的。有人可以帮忙!!
提前致谢...
我能够将值保存在cookie中...但是我仍然不知道如何在从一个url跳回到另一个url时检索它。例如:我有一个网址:('#/ link / create')即可创建此Cookie ...单击<a href="#">New Link</a>
..我需要导航到另一个网址'#/ new-link / create',输入该页面上的几个表单字段,当我点击保存按钮 - <a href="#" class="btn">Save</a>,
时,它应该带我回到这个网址:('#/ link / create')..当我在页面之间导航时,数据已经消失了,如何在UI端保存该数据???
答案 0 :(得分:9)
$(".esc-policy a").on('click',function(){
var name = $("#nameInput").val(),
description = $("#descriptionInput").val();
$.cookie('back_to_url_onPage_referesh', 1);
$.cookie('name',name);
$.cookie('description',description);
});
如果您添加此代码,它将在您的js中工作。如果你不在jquery中使用cookie插件。使用native document.cookie表达式,或使用cookie函数扩展jquery对象
你可以使用这个插件 https://code.google.com/p/cookies/wiki/Documentation#With_jQuery
答案 1 :(得分:8)
使用Cookies检查jQUery Cookie插件
https://github.com/carhartl/jquery-cookie
然后你可以这样做:
$.cookie("test", 1);
要删除:
$.removeCookie("test");
此外,要在cookie上设置特定天数(此处为5)的超时:
$.cookie("test", 1, { expires : 5 });
如果省略expires选项,则cookie将成为会话cookie,并在浏览器退出时被删除。
涵盖所有选项:
$.cookie("test", 1, {
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).
});
要回读cookie的值:
var cookieValue = $.cookie("test");
如果cookie是在与当前路径不同的路径上创建的,您可能希望指定路径参数:
var cookieValue = $.cookie("test", { path: '/foo' });
答案 2 :(得分:3)
以下是您要尝试实现的示例。看看它是否适合你
<body>
<script>
$(document).ready(function(){
$("#btn").click(function(){
var text1 = $('#text1').val();
var text2 = $('#text2').val();
$.cookie('text1', text1);
$.cookie('text2', text2);
});
checkCookieValues();
});
function checkCookieValues(){
if ($.cookie('text1')!=="undefined") {
$('#text1').val($.cookie('text1'));
}
if ($.cookie('text2')!=="undefined") {
$('#text2').val($.cookie('text2'));
}
}
</script>
<form name="trial" id="trial">
<input type="text" value="" id="text1" name="text1"/>
<input type="text" value="" id="text2" name="text2"/>
<input type="button" value="btn" id="btn"/>
</form>
</body>
注意:Jquery cookie插件需要通过jquery使用cookie
答案 3 :(得分:0)
设置一个Cookie
$.cookie("cookie_name", "cookie_value");
获取 Cookie
alert( $.cookie("cookie_name") );
删除 Cookie
$.removeCookie("cookie_name");