我有一个表单供用户提交。当他们点击提交按钮时,我使用jQuery发送表单,但在此之前它会尝试检索存储在cookie中的用户电子邮件地址。如果它找不到它,JavaScript仍会发送表单并弹出一个弹出窗口,允许用户输入他们的电子邮件地址,并将其保存到cookie中,以便下次检索。我直接在w3schools上复制了代码,因为我无法解决这个问题。
现在,它不起作用。
请帮忙。这是我的所有代码。
感谢。
//#submit-form CLICK, SUBMIT FORM, BRING UP EMAIL
$(document).ready(function(){
$("#submit-form").click(function(){
$("#form-wrap").addClass("fly-out-right");
setTimeout(function(){
$("#form-wrap").removeClass("animate fly-out-right");
}, 300);
function checkCookie(){
username=getCookie('username');
if (username!=null && username!=""){
$("#submitter").val(username);
$("#form").submit();
} else {
$("#email-wrap").addClass("animate");
$("#form").submit();
$("#submit-email").click(function(){
if (username!=null && username!=""){
username=$("#email").val();
setCookie('username',username,365);
}
});
}
}
});
});
function getCookie(c_name){
if (document.cookie.length>0){
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
//SETCOOKIE FUNCTION
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";
expires="+exdate.toUTCString());
}
答案 0 :(得分:0)
如果你不介意使用jQuery插件 - 试试这个[易于使用&更少的代码为你] https://github.com/carhartl/jquery-cookie