我已经在很多地方看过这个,我可能是个白痴,因为这样做很多,但这是我的情况。“等待”ReadyState在返回值前为4
我想在我的网站IFF电子邮件旁边的一个电子邮件字段中显示一个复选框未使用已注册。
什么我已经是这样的:
$('[name=reg_email]').change(function() {
if(!emailUsed()) {
//Update image to be a green checkmark
} else {
//Update image to be a huge red X
}
}
而我的“emailUsed”功能应当根据电子邮件地址是否是在数据库中返回一个JavaScript布尔变量。为了实现这一点,我创建了一个脚本来确定它是否存在。所以emailUsed()函数只需要调用脚本和回报,但我需要等到的readyState == 4我回来之前,所有的我已经找到了等待的readyState等于4的方法阻止我返回值在所有:
function emailUsed() {
var req = $.get('scripts/email_used.php?email='+$('[name=reg_email]').val());
//Wait for req.readystate to be 4
return req.responseText == 'True';
}
但我无处可以找到解释如何做到这一点,仍然返回一个值的东西。似乎一切都使用回调函数,这和那,但我不能让这个方法返回一个值。
帮助,请!
太好了!谢谢。这本来对我来说有点困惑,但我明白了。 – TigerTrussell 2010-12-02 22:06:31