Java programozas, javascript
-
Macros #41 Sziasztok!
Lenne egy problémám. Létrehozok egy objektumot, egy select mezőt. Aztán ajax-al lekérem a tartalmát. Ez az objektum egy funkciója lenne. A szerver válaszának feldolgozását rábízom egy funkcióra, mely szintén az Objektum része. Azonban ekkor már nem tudom lekérni az objektum adatait (pl. a select ID-jét amit az elején, az objektum létrehozásánál adok meg neki)
Íme a kód:
// JavaScript Document
function AnswerClear(ClearingAnswer)
{
var ClearingAnswer = ClearingAnswer.substring(2);
SplitAnswer = ClearingAnswer.split('//');
if (SplitAnswer[1] != "OK")
{
alert (SplitAnswer[1]);
ClearAnswer = "";
}
else
{
ClearAnswer = SplitAnswer[2];
}
return ClearAnswer;
}
function CountryList(ID)
{
this.CountryFormID = ID;
this.QueryURL = 'adrserver.php';
this.QueryPars = 'com=countryquery&adr=country';
this.QueryMethod = 'get';
//functions
this.ListAnswerNow = CountryAnswer;
this.ListQueryNow = ListQuery;
}
function CountryAnswer(originalRequest)
{
//put returned XML in the textarea
var answer = originalRequest.responseText;
var FormID = this.CountryFormID;
// A FormID sajnos undefinied, ugyanúgy ahogy a CountryFormID.
// Amennyiben az objektum nevén keresztül hivatkozom rá, úgy megtalálja. pl.: proba.CountryFormID
alert(FormID);
$("assaas").options[0] = new Option("Új ország felvitel", "uj");
data = AnswerClear(answer);
MyOptions = data.split('**');
alert (MyOptions);
if (MyOptions == '') { MyOptions = ''; }
for (i = 0; i<MyOptions.length; i++)
{
MyOption = MyOptions[i].split('*-');
OptiV=MyOption[0];
OptiN=MyOption[1];
OptiI=MyOption[2];
OptiNumber = i+1;
$('assaas').options[OptiNumber]=new Option(OptiN+" ["+OptiI+"]",OptiV,"");
}
}
function ListQuery()
{
var url = this.QueryURL;
var myMethod = this.QueryMethod;
var myPars = this.QueryPars;
// Itt van értéke a this.CountryFormID -nek
alert(this.CountryFormID);
var myAnswer = this.ListAnswerNow;
var myAjax = new Ajax.Request( url, { method: myMethod, parameters: myPars, onComplete: myAnswer });
}
és az objektum meghívása:
proba = new CountryList('assaas');
function haha()
{
proba.ListQueryNow();
}
Az ajax (prototype) miatt "esik" ki a program az objektumból? vagy valami alapvető hibát vétettem?
(BUÉK)