Avatar billede rookieboy Nybegynder
10. april 2007 - 17:21 Der er 3 kommentarer

Dynamiske tekstfelter med data fra vb-script / access-database

Jeg er igang med at lave en produktsammenligning af nogle vaskemaskiner, hvor jeg henter noget data fra en database via et asp-script og smider resultetet ind i nogle variabler. Disse variabler vises i nogle dynamiske tekstfelter.

Jeg har 10 prædefinerede rækker med dynamiske tekstfelter som viser det indhold jeg har trukket fra databasen.

Det hele spiller fint, bortset fra at hvis databasen returnerer færre rækker end mine 10 prædefinerede tekstfelter, ja, så står der bare 'undefined' i de resterede felterne. (ser ikke pænt ud)

Jeg vil gerne løse problemet med at sige følgede til Flash: "Hvis du modtager mindre end 10 rækker fra asp scriptet skal du erstatte tekstfelt variablen med et mellemrum" (således at variablen ikke længere er 'undefined')

Min kode ser således ud:

----------------------------------------------------------------
var GetData = new LoadVars();
GetData.load("getdata.asp?lang=" + _level0.lang + "&kat=" + _level0.kat);
GetData.onLoad = function(LoadSucces) {
    if (LoadSucces) {
        // Henter feature kategori (fx. teknik, programmer etc.)
        kategori.htmlText = GetData.kategori1;

        // data#1
        feature1.htmlText = GetData.feature1;
        premium1.htmlText = GetData.premium1;
        exclusive1.htmlText = GetData.exclusive1;
        comforta1.htmlText = GetData.comforta1;
        comfortb1.htmlText = GetData.comfortb1;
        classic1.htmlText = GetData.classic1;
        //
        // data#2
        feature2.text = GetData.feature2;
        premium2.text = GetData.premium2;
        exclusive2.text = GetData.exclusive2;
        comforta2.text = GetData.comforta2;
        comfortb2.text = GetData.comfortb2;
        classic2.text = GetData.classic2;
        //
        // data#3
        feature3.text = GetData.feature3;
        premium3.text = GetData.premium3;
        exclusive3.text = GetData.exclusive3;
        comforta3.text = GetData.comforta3;
        comfortb3.text = GetData.comfortb3;
        classic3.text = GetData.classic3;
        //
        // data#4
        feature4.text = GetData.feature4;
        premium4.text = GetData.premium4;
        exclusive4.text = GetData.exclusive4;
        comforta4.text = GetData.comforta4;
        comfortb4.text = GetData.comfortb4;
        classic4.text = GetData.classic4;
        //
        // data#5
        feature5.text = GetData.feature5;
        premium5.text = GetData.premium5;
        exclusive5.text = GetData.exclusive5;
        comforta5.text = GetData.comforta5;
        comfortb5.text = GetData.comfortb5;
        classic5.text = GetData.classic5;
        //
        // data#6
        feature6.text = GetData.feature6;
        premium6.text = GetData.premium6;
        exclusive6.text = GetData.exclusive6;
        comforta6.text = GetData.comforta6;
        comfortb6.text = GetData.comfortb6;
        classic6.text = GetData.classic6;
        //
        // data#7
        feature7.text = GetData.feature7;
        premium7.text = GetData.premium7;
        exclusive7.text = GetData.exclusive7;
        comforta7.text = GetData.comforta7;
        comfortb7.text = GetData.comfortb7;
        classic7.text = GetData.classic7;
        //
        // data#8
        feature8.text = GetData.feature8;
        premium8.text = GetData.premium8;
        exclusive8.text = GetData.exclusive8;
        comforta8.text = GetData.comforta8;
        comfortb8.text = GetData.comfortb8;
        classic8.text = GetData.classic8;
        //
        // data#9
        feature9.text = GetData.feature9;
        premium9.text = GetData.premium9;
        exclusive9.text = GetData.exclusive9;
        comforta9.text = GetData.comforta9;
        comfortb9.text = GetData.comfortb9;
        classic9.text = GetData.classic9;
        //
    }
};
----------------------------------------------------------------

(Ja, min kode er også herre besværligt skruet sammen...)
Kan dette løses evt. ved at gennem alle variabler i et array?
Avatar billede rookieboy Nybegynder
10. april 2007 - 17:33 #1
Jobbet kan ses her:
http://www.actiontime.dk/siemens/

Klik på 'Komplet produktoversigt' og vælg kategorien 'Tilvalg'.
Læg mærke til at der står 'undefined' i sidste række af produkt-features.
Avatar billede anitaviz Nybegynder
11. april 2007 - 21:01 #2
Jeg ville nok lavet det med en for løkke.
Dette er ikke testet og går ufra at dine text felter ligger i _root:

for(var i=1;i<=9;i++){
  if(GetData["feature"]+i!=undefined){
    _root["feature"+i].text=GetData["feature"+i];
    _root["exclusive"+i].text=GetData["exclusive"+i];
    _root["comforta"+i].text=GetData["comforta"+i];
    _root["comfortb"+i].text=GetData["comfortb"+i];
    _root["classic"+i].text=GetData["classic"+i];
  }
}
Avatar billede rookieboy Nybegynder
11. april 2007 - 23:14 #3
Jeg tjekker det lige når jeg kommer på job imorgen - men i princippet ser det jo korrekt ud.

/ Christian
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