StigMedlem sedan dec. 2001146 inlägg Jag laddar in varables med loadVars i frame 1 på root har sedan mina text fält på frame 2 till 4 och vill med en knapp hoppa mellan textfäten och se texterna. Måste jag ladda in texten varje gång jag hoppar till en ny frame där jag har mitt textfält? Jag är ny på loadVars och är van vid att om man laddat in variablerna så finns de i flash bra att hoppa till en frame där rätt textfät finns och vips så ser man den inladdade texten, men det funkar ej, hur ska man göra.
Jag laddar in så här:
loadText = new LoadVars();
loadText.load("mintext.txt");
loadText.onLoad = function() {
text_1.htmlText = this.text1;
text_2.htmlText = this.text2;
text_3.htmlText = this.text3;
location.text = this.location;
};
Du kan inte tilldela data till ett objekt som inte existerar ännu och textfällten existerar ju inte i den bildruta där laddningen görs. Därför måste du först skapa variablert dit den inladdade texten lagras. Sådan så på bildrutan med textfältet så tilldelar du datan från variabeln till textfältet.
StigMedlem sedan dec. 2001146 inlägg Okej, Tack.
Kan du visa ett exempel på hur man gör är van vid loadVariables och är ny på detta med LoadVars();
Då dina variabler är sekvensiellt namngivna så skulle jag nästan rekomendera att använda en array.
// Skapa en array och ett LoadVars objekt:
var texts_arr = new Array();
var myLV = new LoadVars()
myLV.onLoad = function(success)
{
// Skapar lite lokala variabler
var i = 1;
var tmp = null;
// Testar om inladdningen fungerade:
if(success)
{
// Loopar igenom de inladdade textvariablerna tså länge vi hittar någon
// som innehåller data.
while(tmp = this["text" + i])
{
// Placerar den inladdade variabelns data sist i array:en.
texts_arr.push(tmp);
// Sedan ökar vi värdet i variabeln "i" med ett.
i++;
}
} else {
// Någonting gick snett vid inladdningen. Kod för felhantering placeras här.
}
}
Sedan är det bara att hämta rätt fält från array:en och tilldela detta till textfälltet i den bildruta man kommer till när textfältet visas. Tänk bara på att Array:ens fält numreras från 0 och uppåt så i koden ovan så kommer innehållet i text1 att hamna i texts_arr[0].
t.ex:
text_1.htmlText = texts_arr[0];
/Mirandir