Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ AJAX _ [Ajax] aktualizacja stanu pobierania danych

Napisany przez: pawel_ 18.03.2006, 11:38:15

Witam smile.gif
napisałem sobie takie coś:

Kod
var http = getHTTPObject(); // Tworzymy instancję Ajax'a
var busy = false; // sprawdzamy zajętość aplikacji (czy aktualnie coś robi)
var url = 'getData.php?param='; // na jaki adres mają iść dane

function getHTTPObject() {
var xmlhttp;
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  try {
      xmlhttp = new XMLHttpRequest();
  }
  catch (e) {
      xmlhttp = false;
  }
    }
    return xmlhttp;
}

function send(from, to) {
    var tmp = document.getElementById(from).value;
    http.open("GET", url + escape(tmp), true);
    http.onreadystatechange = send_to_form(to); http.send(null);
    busy = true;
    status = 'sending';
}

function send_to_form(name) {
    if (http.readyState == 4) { // jeśli wszystko się już załadowało
  if (http.responseText.indexOf('invalid') == -1) {
      var xmlDocument = http.responseXML;
      results = name.split(",");
      for(i in results) {
    name = results[i];
    alert(name);
    var tmp = xmlDocument.getElementsByTagName(name).item(0).firstChild.data;
    document.getElementById(name).value = tmp;    
      }
      document.getElementById(name).value = tmp;
      busy = false;
      status = 'done';
  }
    } else {
  if (http.readyState == 1)
      status = 'downloading';
  if (http.readyState == 2)
      status = 'downloaded';
  document.getElementById('status').value = status;
  setInterval(send_to_form(name),100);
    }
}


co chcę osiągnąć? chcę aby pokazywał mi w polu tekstowym "downloading", "downloaded", "done" .... ale przy aktualnym kodzie w konsoli debugowania w ff wyskakuje mi "too much recursion" sad.gif
Ma ktoś jakiś pomysł? Będę wdzięczny :-)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)