Avatar billede jansangill Nybegynder
21. april 2007 - 00:15 Der er 8 kommentarer og
1 løsning

Insert data

hejsa

har et lille problem, som jeg ikke synes at kunne løse.

her er script:

var hylde = this.hylde1;
var info = this.info;

var data:Array = [hylde,info]
var i:Number =0;
while(i<data.length) {
    trace(data[i++]);
}

Det virker som perfekt. Men istedet for trace vil jeg gerne kunne skrive data ud i en dynamisk tekstfelt.
Avatar billede _k Nybegynder
22. april 2007 - 09:14 #1
Giv dine dynamiske tekstfelter nogle instans navne og lav følgende ændringer i dit script:

var data:Array = [hylde,info]
var i:Number =0;
while(i<data.length) {
    tekstfelt1.text = data[i].hylde;
    tekstfelt2.text = data[i].info;
}
Avatar billede jansangill Nybegynder
22. april 2007 - 11:35 #2
Ja det troede jeg også først at det var sådan, men det hjalp mig bare ikke. Den siger altid undefined der. Men i trace finder den værdierne, fx. 11~12~13~14~15~16~
20 rejer~30 loooo~4t~7jkkk~9fgf~444~...

Hvad der går galt ved jeg ikke.

Dette er koden jeg brugte, som jeg synes skulle virker:

var data:Array = [hylde,info]
var i:Number =0;
while(i<data.length) {
    tekstfelt1.text = data[i].hylde;
    tekstfelt2.text = data[i].info;
i++;
}

Det burde jo heller ikke være i mit ASP det fucker op, da den giver mig værdierne i trace.
Avatar billede _k Nybegynder
22. april 2007 - 15:58 #3
Sry, lagde ikke mærke til at det var et array du arbejdede på og ikke objekter. Faktisk giver din opsætning i denne udgave ikke den store mening, idet du vil løbe et array igennem og sætte data i een og samme handling. Det var også det der forvirrede mig, idet man "plejer" at fylde sine eksterne data ind i et objekt, som så efterfølgende bliver smidt ind i et array (eller et andet objekt). Måske du skulle vise hvordan du ønsker at få fat på "hylde" og "info", så kan jeg nok bedre gennemskue hvilken løsning som passer til dig?

Ang. teksten, handler det bund og grund handler det om at ramme et dynamisk tekstfelt. Det du kan sikre dig er at tekstfeltet er til stede når koden bliver eksekveret på tidslinjen. I dit eksempel antager du at tekstfelt og kode er til stede samme sted på tidslinjen. Har du pakket dit tekstfelt ned i et mc - eller eksekverer du dit script i et mc (eller en klasse for den sags skyld) - virker det ikke.

Derudover skal du være sikker på at det er "instance name" og ikke "var" feltet du navngiver.

I dit eksempel vil du også opleve det at det samme tekstfelt bliver overskrevet med alle dine variable. I din while-løkke bliver du jo ved med at sætte forskelligt indhold til de samme felter.
Avatar billede jansangill Nybegynder
22. april 2007 - 16:25 #4
Sådan her får jeg fat på "hylde" og "info".


var dvd_obj:Object = new Object();
dvd_obj.change = function(){
var dvdID = raekke_list.value;
var dvdInfo_lv:LoadVars = new LoadVars();
dvdInfo_lv.onLoad = function(success){
if(success){
if(!this.error){


//************virker ikke******
var hylde = this.hylde1;
var info = this.info;

var data:Array = [hylde,info]
var i:Number =0;
while(i<data.length) {
    trace(data[i++]);
}

}else{
trace(this.error);
}
}else{
trace("An error occurred with the connection");
}
}
dvdInfo_lv.sentId = dvdID;
//send and receive the data
dvdInfo_lv.sendAndLoad("http://www.123ogabc.dk/getHyldeInfo.asp",dvdInfo_lv, "POST");
}
//add the event listener to the List component
raekke_list.addEventListener("change", dvd_obj);


Håber det forklarer tingene.
Avatar billede _k Nybegynder
22. april 2007 - 16:46 #5
..hvordan ser det ud hvis du skriver: trace(this); inde i din onLoad funktion?
Avatar billede jansangill Nybegynder
22. april 2007 - 17:07 #6
Dette kommer ud:

info=20%20rejer%7E30%20loooo%7E4t%7E7jkkk%7E9fgf%7E444%7E&hylde1=11%7E12%7E13%7E14%7E15%7E16%7E&sentId=1&onLoad=%5Btype%20Function%5D
Avatar billede _k Nybegynder
22. april 2007 - 17:21 #7
Så burde det reelt ikke være sværere end at smide det her ind i din onLoad:

tekstfelt1.text = this.hylde;
tekstfelt2.text = this.info;

..jeg troede du ville loade flere emner på samme tid, men det håndterer du jo på anden vis (ved at sende et id med)
Avatar billede jansangill Nybegynder
22. april 2007 - 17:45 #8
Nogle gange er det bare simplere end man lige troede:)

Mange tak for svaret, var åbenbart ikke nødvendigt også at loope noget i AS så.

Hvis nu man ville have at dette skulle loade i en Scrollpane. Skal man så lave en mc, hvori man har actionkoden? Meningen er nemlig at jeg skal have lavet en tabel i en mc, hvor alt det her info skal spyttes ud i på en eller anden måde.
Avatar billede _k Nybegynder
22. april 2007 - 18:11 #9
Scrollpanes kan godt være lidt drilske, så selvom det er halvdårlig kode-praksis vil jeg nok anbefale dig at lægge al logik i det mc du henter ind på Scrollpanet. Det vil sparer dig for at skulle kommunikere ind og ud, hvilket kan drive selv den mest ihærdige til vanvid ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester