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

Set cookie to have a value of form entry

之前问过一个相关的问题,但是好像缺少上下文,所以没法实现。 尝试在单击时设置表单条目的 cookie 值(使用 carhartl jquery 插件)。而一无所获。甚至没有错误。 Cookies 插件包含在页面的头部。

html 个

    <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));

您传递给 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) 将执行函数和 return undefined,所以你会做 $document.ready(undefined)