我尝试使用jquery中的Cookie为新用户和以前的用户创建欢迎页面。但是,当我使用每个用户的新数据提交表单时,它并没有说“#34;欢迎新用户"”。它总是欢迎用户,就像他已经在网站上提交表单一样。
<div class='parent'>
<div class='child-1'>Abc..</div>
<div class='child-2'>Xyz..</div>
</div>
答案 0 :(得分:0)
问题是,Cookie会始终被创建,传递空值,因为您在检查cookie存在之前直接创建:
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
if(customername == null) {}
在上面的代码中,customername
永远不会有null
的值。要解决这个问题,您需要做的是在函数外定义customername
变量,但不要为其赋值(甚至不是&#39; null&#39;):
var customername;
if(customername == null) {
$("#wel").html("Welcome New Customer");
} else {
$("#wel").html("Welcome " + $.cookie("fullname"));
}
然后将cookie创建包装在表单提交中:
$("form").submit(function(){
var fname = $("#firstname").val();
var lname = $("#lastname").val();
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
});
这样,当用户访问网站时,cookie就不会自动创建;它只会在表单提交时创建。
希望这有帮助! :)