设置一个Cookie - 新手

时间:2013-07-30 04:30:06

标签: jquery forms cookies

我有一个表单供用户提交。当他们点击提交按钮时,我使用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());
}

1 个答案:

答案 0 :(得分:0)

如果你不介意使用jQuery插件 - 试试这个[易于使用&更少的代码为你] https://github.com/carhartl/jquery-cookie