我在我的脚本中包含了 jquery,现在正尝试制作这个上传进度条脚本的 jquery 版本:http://www.ultramegatech.com/2008/12/creating-upload-progress-bar-php/
这是我的尝试:
$(document).ready(function () {
function startProgress(uid) {
console.log("starting progress");
setTimeout('getProgress("' + uid + '")', 500);
//some more stuff
}
function getProgress(uid) {
console.log("getting progress");
$.ajax({
type: "GET",
url: 'upload_getprogress.php?uid=' + uid,
success: function (msg) {
progress = msg;
setTimeout('getProgress("' + uid + '")', 100);
// do some more stuff
}
});
}
$('#upload').submit(function () {
startProgress('<?php echo $uid; ?>');
});
});
但是我收到了这个错误:
未捕获的 ReferenceError:未定义 getProgress
怎么样?
我试图将函数放在 document.ready()
之外,但没有帮助。我什至在 startProgress
内部的开头定义了 getProgress
但它似乎无法识别该功能。我做错了什么?
最佳答案
无法仔细检查,但我猜这是因为提交回调的范围。按照这些思路尝试一些东西;
$(document).ready(function(){
$('#upload').submit(function(){ window.startProgress('<?php echo $uid; ?>'); });
});
var startProgress = function(uid) {
console.log("starting progress");
setTimeout('getProgress("' + uid + '")', 500);
//some more stuff
};
var getProgress = function(uid) {
console.log("getting progress");
$.ajax({ type: "GET",
url: 'upload_getprogress.php?uid=' + uid,
success: function(msg) {
progress = msg;
setTimeout('getProgress("' + uid + '")', 100);
// do some more stuff
}
});
};
window.startProgress = startProgress;
window.getProgress = getProgress;
关于Javascript 函数未在 document.ready jquery 代码中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830621/