Avatar billede bajerfar Nybegynder
19. april 2005 - 19:35 Der er 9 kommentarer og
1 løsning

sendAndLoad - Hvorfor medsendes variabler fra input textfield

Hej Eksperter
Hvorfor medsendes indtastede oplysninger i mit 'input textfield' ikke?! Når variablerne er fast defineret i mit script, er der ingen problemer, men så snart jeg ønsker oplysningerne fra et ipnut textfield møder jeg muren, og der giver ingen mening for mig! Mit Actionscript ser således ud:

on (press) {
    allCoords = "";
    for (x=1; x<=i; x++) {
        if (_root[x].type != null) {
            if (x>=2) {
                allCoords += "+";
            }
            allCoords += _root[x].type+"|"+_root[x]._x+"|"+_root[x]._y;
        }
    }
    lvo = new LoadVars();

        //Dette er mine to input textfields, som ikke virker
    lvo.reciever = _root.recieveEmailVar;
    lvo.sender = _root.sendEmailVar;


        //og dette virker
        //lvo.reciever = "email@email.dk";
    //lvo.sender = "email@email.dk";

    lvo.allCoords = escape(allCoords);
    lvo.sendAndLoad("write.asp", lvo, "GET");
    loadText.onLoad = function() {
    };
}
Hvis I har brug for mere info, så giv mig besked.
Avatar billede bajerfar Nybegynder
19. april 2005 - 19:38 #1
Jeg bør måske lige nævne, at Input Textfield er tildelt 'var = recieveEmailVar' og 'var = sendEmailVar'!
Avatar billede _k Nybegynder
19. april 2005 - 21:52 #2
Prøv at tilgå dine tekstfelter på en anden måde. Slet det du har stående i dine var-felter og giv tekstfelterne instance navnene "recieveEmailVar" og "sendEmailVar" i stedet. Så sætter du indholdet af din sendAndLoad med:

lvo.reciever = _root.recieveEmailVar.text;
lvo.sender = _root.sendEmailVar.text;
Avatar billede bajerfar Nybegynder
19. april 2005 - 21:58 #3
ja, det prøvede for lidt siden - uden held. Jeg kan se, at når jeg tester min flash-movie i flash, den forsøger den at åbne en url. Alle variablerne står i denne url, men disse sendes ikke over i databasen!
Avatar billede _k Nybegynder
19. april 2005 - 22:06 #4
...jeg ser også lige 2 detaljer, måske det er en af dem?

1: Du bør smide din sendAndLoad ned under din onLoad
2: Så vidt jeg husker, referer det midterste argument i sendAndLoad til en funktion der skal kaldes når alt er sendt og hentet. Altså som regel en helt anden funktion end den der kalder. Så prøv at lave en ny funktion der f.eks. tracer ud at der er blevet sendt og modtaget noget, og referer til den i steder for dit LoadVars objekt.

...og forresten: hvis du tracer indholdet af dine tekstfelter ud lige der hvor du smider dem ind i LoadVars objektet, kommer der så det rigtige ud? Ellers kan det jo være stien til tekstfelterne den er gal med.....
Avatar billede bajerfar Nybegynder
19. april 2005 - 22:13 #5
For testens skyld lavede jeg en forsimplet version af min sendAndLoad. Denne virkede! Det siger jo også, at problemet måske ligger et andet sted!

on (press) {
    lvo = new LoadVars();
    lvo.reciever = _root.modtagerVar.text;
    lvo.sender = _root.afsenderVar.text;
    lvo.allCoords = "virker";
    lvo.sendAndLoad("write.asp", lvo, "GET");
}
Avatar billede bajerfar Nybegynder
19. april 2005 - 22:27 #6
.. nu virker det!? Jeg flyttede sendAndLoad ned som du foreslog, men det ser ud til at der var lagt en slags validering på variablen allCoords, således at hvis den var tom, så blev der ikke skrevet i db! Jeg havde ikke set det, før jeg begyndte at udelukke dele af koden. Da det ikke er min egen kode jeg arbejder på, så havde jeg ikke opdaget det. Beklager, det var min egen dumme fejl. Dog er jeg ret glad or at det endelig virker. Jeg har brugt adskillige timer på denne åndsvage kode.

Undskyld ulejligheden og tusind tak fordi du gad kigge på det!
Avatar billede _k Nybegynder
20. april 2005 - 09:17 #7
Selv tak - og så længe det virker er det jo verdensklasse ;o)

Smider et svar hvis du vil give mig point. Ellers svar selv og luk spørgsmålet.
Avatar billede bajerfar Nybegynder
20. april 2005 - 09:18 #8
Tak for hjælpen!
Avatar billede _k Nybegynder
20. april 2005 - 09:20 #9
Og jeg sige mange tak for point.
Avatar billede barklund Nybegynder
20. april 2005 - 10:28 #10
Mht. _k's indlæg 19/04-2005 22:06:29, så er begge ting faktisk en smule ikke rigtige :)

Når man kalder sendAndLoad eller load, så bliver det ikke udført med det samme alligevel. Det bliver blot lagt i kø i Flash, som så udfører så snart alt det aktuelle framescript er kørt færdig. Altså er det fuldstændig ligegyldigt, om onLoad bliver specificeret før eller efter man sender.

Mht. andet argument til sendAndLoad, så skal det "blot" være en reference til et LoadVars objekt - det kan sagtens være det samme objekt, som sendte variablerne - det er der ingen problemer i. Det kan selvfølgelig være lidt besværligt at holde styr på, om det er en sendt eller modtaget variabel, man har liggende, men det er blot en detalje - det vil virke anyways :)

Blot mine 0.02 euro :P

--
Morten Barklund
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