将cookie设置为具有表单条目的值

时间:2015-06-04 20:38:16

标签: javascript jquery html cookies

之前被问到一个相关的问题,但看起来它缺乏一个上下文,所以,无法使它工作。 尝试在单击时设置表单条目的cookie值(使用carhartl jquery插件)。一无所获。甚至没有错误。 Cookies插件包含在页面的头部。

html of it

    <input type="text" class="signfield emfield" />
    <input type="text" class="signfield nam1field" />
    <input type="text" class="signfield nam2field" />
    <div class="submt sbmtfrm" style="cursor:pointer;">Step 2</div>

和jquery

$(document).ready(function(window, $){
    var emailvar;
    var name1var;
    var name2var;
    $(".sbmtfrm").click(function(){
        emailvar = $(".emfield").val();
        name1var = $(".nam1field").val();
        name2var = $(".nam2field").val();
        alert(emailvar);
        $.cookie("sec8email", emailvar);
        $.cookie("sec8name1", name1var);
        $.cookie("sec8name2", name2var);
    });

    var emvar = $.cookie("sec8email");
    var name1 = $.cookie("sec8name1");
    var name2 = $.cookie("sec8name2");

}(window, jQuery));

1 个答案:

答案 0 :(得分:0)

您传递给ready的函数实际上是在DOM准备好之前执行的,因为您调用它。这应该在DOM准备就绪时调用它并仍然保持你想要做的事情。

(function(window, $){
    $(document).ready(function(){
        var emailvar;
        var name1var;
        var name2var;
        $(".sbmtfrm").click(function(){
            emailvar = $(".emfield").val();
            name1var = $(".nam1field").val();
            name2var = $(".nam2field").val();
            alert(emailvar);
            $.cookie("sec8email", emailvar);
            $.cookie("sec8name1", name1var);
            $.cookie("sec8name2", name2var);
        });

        var emvar = $.cookie("sec8email");
        var name1 = $.cookie("sec8name1");
        var name2 = $.cookie("sec8name2");

    });
}(window, jQuery));

function(window,jQuery){...}(window,jQuery)将执行该功能并返回undefined,因此您将执行$document.ready(undefined)