【问题标题】:Setting A Cookie - Newbie设置 Cookie - 新手
【发布时间】:2013-07-30 18:52:56
【问题描述】:

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

【问题讨论】:

  • 你能在标记中包含一个小提琴链接吗? cookie 的问题是,即使它是用 jQuery/javascript 设置的,它也需要重新加载才能生效。
  • 为什么不存储他们的电子邮件服务器端?此外,使用 w3schools 就像使用每日邮报作为有信誉的新闻来源一样。停止。使用 Mozilla Dev Network 或类似网站。

标签: jquery forms cookies


【解决方案1】:

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

【讨论】:

  • 这可能是我需要做的。我真的很喜欢使用 jQuery,但我不断得到建议坚持使用纯 JS。我试试看。
  • 如果你真的想使用 js => 下载插件并查看代码。其中大部分是在不使用 jQuery 的情况下编写的;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 2021-02-09
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多