之前被问到一个相关的问题,但看起来它缺乏一个上下文,所以,无法使它工作。 尝试在单击时设置表单条目的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));
答案 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)