0

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

1 回答 1

0

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

于 2013-07-30T10:52:56.880 回答