获得输入类型文字。无论输入什么,都应该成为变量的值,并从那里开始。然而,我得到错误" Uncaught ReferenceError:emailvar未定义"并且整个脚本从那里开始。
HTML
<input type="text" class="signfield emfield" />
<div class="submt sbmtfrm" href="#" style="cursor:pointer;">Step 2</div>
和js
$(".sbmtfrm").click(function(){
var emailvar = $(".emfield").val();
});
答案 0 :(得分:2)
您需要将emailvar声明为全局变量,以便在该click事件处理程序之外使用它:
$(function()
{
var emailvar;
$(".sbmtfrm").click(function()
{
emailvar = $(".emfield").val();
});
function foo()
{
console.log(emailvar);
}
}
答案 1 :(得分:2)
在您的代码中,emailvar
正在函数closure中定义,只有该函数才能访问它。
$(".sbmtfrm").click(function(){
var emailvar = $(".emfield").val();
});
如果要在jQuery事件处理程序之外使用emailvar
,则需要首先在函数范围之外定义它(而不是赋值)。
(function(window, $) { // closure
var emailvar;
$(".sbmtfrm").click(function() {
emailvar = $(".emfield").val();
});
// you now have access to `emailvar` in any function in this closure
}(window, jQuery));