首页 > 解决方案 > 无法自动刷新内容

问题描述

我尝试了 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
}

标签: javascripthtmlfunction

解决方案


最后一行,您有一个getETACallback未定义的函数。我只是尝试运行auto_refresh_countdown,它有效。仅在与虽然不同validate时才调用。另外你有一个错字:-->seconds1uto_refresh_countdownauto_refresh_countdown


推荐阅读