javascript - 无法自动刷新内容
问题描述
我尝试了 setinterval 和 settimeout 来回调 validate() 函数,但我不知道为什么它不起作用。现在我尝试另一种调用方法,但仍然无法正常工作。有什么修复吗?
下面是代码:
function validate(){
var code = document.getElementById("BScode").value ;
var msg = "<p>ERROR : Please select the option. </p>";
var error = document.getElementById("valError");
error.innerHTML = ""; //clear error-span
document.getElementById("divResult").innerHTML = ""; //clear resutl-div
** document.getElementById("map_title").innerHTML = "";
document.getElementById("map_canvas").style.display = "none"; **
if( code == "" || code == "none" || code == null ){
error.innerHTML = msg;
}else{
//get result
getETA();
auto_refresh_countdown(seconds);
}
}
/* The whole stupid function to call back refresh validate() which failed :)*/
function auto_refresh_countdown(seconds) {
var time = seconds;
var myTimer = setInterval(function() {
time--;
if(time === 0){
clearInterval(myTimer);
validate();
auto_refresh_countdown(seconds);
}
}, 1000);
}
function getETA() {
var seconds = 5;
var id = document.getElementById("BScode").value;
var url = "http://www.cybertowers.net/jsonp/?a=eta.aspx?bid=";
loadData(url, getETACallback);//real
}
解决方案
最后一行,您有一个getETACallback
未定义的函数。我只是尝试运行auto_refresh_countdown
,它有效。仅在与虽然不同validate
时才调用。另外你有一个错字:-->seconds
1
uto_refresh_countdown
auto_refresh_countdown
推荐阅读
- reactjs - 将文本字段添加为数组状态
- c# - 在 C# GUI 中读取 Pcap 文件
- scala - Scala 中的表达式简化器
- docker - docker - 我可以设置一个容器直接通过网络上的 ssh 访问吗?
- asp.net - “远程”属性不起作用(ASP.net MVC)
- c# - 如何模拟使用 Moq 对此 C# 代码进行的以下 DBContext 调用?
- reactjs - 反应网页的动态路由
- python - 用 list(dict.items()) 和 dict.items() 遍历字典的区别在哪里
- php - 如何在 url 之间连接一个常量
- python - 如何在flask中设置上传照片的路径