我尝试将我从焦点输出的ajax请求获得的var传递给下一个鼠标悬停函数。
但是我在第一个focusout函数中定义的var在第二个mouseover函数中是不可访问/未定义的。有一个干净简单的方法吗?
$(document).ready(function ($) {
var access_key = '123456';
var mc;
$('#userLoginName').on('focusout', function () {
var email = $('#userLoginName').val()
// verify email address via AJAX call
$.ajax({
url: 'https://ajaxrequesturl.de/check?key=' + access_key + '&email=' + email,
dataType: 'jsonp',
success: function (json) {
// Access and use your preferred validation result objects
console.log(json.format_valid);
console.log(json.smtp_check);
console.log(json.score);
var mc = json.smtp_check;
//alert(json.smtp_check);
//alert(mc);
}
});
});
$(".nextstep-inner").on('mouseover', function () {
if (mc) {
$(".isa_error").hide();
} else {
$(".isa_error").show();
}
alert(mc);
});
});
这是我带有ajax请求的原始代码
{{1}}
答案 0 :(得分:0)
在$('#login').on('focusout', ...)
函数中,您正在为该函数创建一个新的mc
变量,该变量将隐藏在外部定义的另一个变量。
替换:
$('#login').on('focusout', function() {
var mc = $('#login').val();
alert(mc)
});
使用:
$('#login').on('focusout', function() {
mc = $('#login').val();
alert(mc)
});