19. april 2005 - 19:35Der 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.
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:
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!
...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.....
.. 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!
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
Synes godt om
Ny brugerNybegynder
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.