我尝试了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
}
答案 0 :(得分:1)
最后一行,你有一个未定义的函数getETACallback
。
我只是试图运行auto_refresh_countdown
,它有效。仅当validate
与seconds
不同时才会调用1
。
另外,你有一个拼写错误:uto_refresh_countdown
- &gt; auto_refresh_countdown