如何使用 jquery cookies 欢迎新用户或欢迎老用户?
How to welcome a new user or welcome the recurring user using jquery cookies?
我正在尝试使用 jquery 中的 cookie 为新老用户创建一个欢迎页面。但是,当我使用每个用户的新数据提交表单时,它并没有说 "Welcome New User"。它总是欢迎用户,就好像他已经在网站上提交了一个表单。
<h1 class="center">
<span id="wel"></span>
</h1>
<form id="form" autocomplete="on">
<br>
<input type="text" name="firstname" id="firstname" placeholder="Enter the first name" pattern="[A-Za-z\-]+" maxlength="25">
<br>Last Name:
<br>
<input type="text" name="lastname" id="lastname" placeholder="Enter the last name" pattern="[A-Za-z\-]+" maxlength="25">
<input type="submit" id="submit" value="Place Order!" />
</form>
var customername = []; // outside the function
var fname = $("#firstname").val();
var lname = $("#lastname").val();
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
if(customername == null) {
$("#wel").html("Welcome New Customer");
} else {
$("#wel").html("Welcome " + $.cookie("fullname"));
}
问题是 cookie 将总是 创建,传递空值,因为您在检查之前直接创建 cookie它存在:
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
if(customername == null) {}
在上面的代码中,customername
永远不会有 null
的值。要解决这个问题,您需要做的是在函数外部定义 customername
变量,但不要为其分配任何内容(甚至 'null' 也不行):
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 不会自动创建;它只会在提交表单时创建。
希望对您有所帮助! :)
我正在尝试使用 jquery 中的 cookie 为新老用户创建一个欢迎页面。但是,当我使用每个用户的新数据提交表单时,它并没有说 "Welcome New User"。它总是欢迎用户,就好像他已经在网站上提交了一个表单。
<h1 class="center">
<span id="wel"></span>
</h1>
<form id="form" autocomplete="on">
<br>
<input type="text" name="firstname" id="firstname" placeholder="Enter the first name" pattern="[A-Za-z\-]+" maxlength="25">
<br>Last Name:
<br>
<input type="text" name="lastname" id="lastname" placeholder="Enter the last name" pattern="[A-Za-z\-]+" maxlength="25">
<input type="submit" id="submit" value="Place Order!" />
</form>
var customername = []; // outside the function
var fname = $("#firstname").val();
var lname = $("#lastname").val();
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
if(customername == null) {
$("#wel").html("Welcome New Customer");
} else {
$("#wel").html("Welcome " + $.cookie("fullname"));
}
问题是 cookie 将总是 创建,传递空值,因为您在检查之前直接创建 cookie它存在:
customername = $.cookie('fullname', fname + " " + lname, {expires: 365});
if(customername == null) {}
在上面的代码中,customername
永远不会有 null
的值。要解决这个问题,您需要做的是在函数外部定义 customername
变量,但不要为其分配任何内容(甚至 'null' 也不行):
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 不会自动创建;它只会在提交表单时创建。
希望对您有所帮助! :)