Показать сообщение отдельно
  #1 (permalink)  
Старый 21.11.2008, 13:22
Новичок на форуме
Отправить личное сообщение для Flake Посмотреть профиль Найти все сообщения от Flake
 
Регистрация: 21.10.2008
Сообщений: 8

ООП. Не виден объект из метода.
Здравствуйте.

Есть класс:
function Emulator(id)
{
	this.object_id = id;
	this.velocity = document.getElementById("velocity"+this.object_id).value;
	this.track = document.getElementById("track"+this.object_id).value;

	this.xmlHttp = createXmlHttpRequestObject();
  
  this.loadObjects = function()
	{
		if (this.xmlHttp && (this.xmlHttp.readyState == 4 || this.xmlHttp.readyState == 0))
    {
      var query = "emulation.php?track="+this.track+"&object_id="+this.object_id+"&velocity="+this.velocity;
  		this.xmlHttp.open("GET", query, true);
  		this.xmlHttp.onreadystatechange = this.handleLoadObjects;
  		this.xmlHttp.send(null);
    }
	}
	
	this.handleLoadObjects = function()
	{
    if (this.xmlHttp.readyState == 4 && this.xmlHttp.status == 200)
    {
      alert("ok");
    }
  }
}


При его вызове:
var em = new Emulator(1);
  em.loadObjects();

Отправка данных происходит нормально. Но в обработчике handleLoadObjects не видит this.xmlHttp, т.е. ругается: Ошибка: this.xmlHttp is undefined.

Какой синтаксис будет правильным?

Последний раз редактировалось Flake, 21.11.2008 в 13:25.
Ответить с цитированием