Hej alle sammen,
Jeg har lavet kontaktformular i flash, der via PHP sender en mail til min emailadresse med de indtastede informationer. Det hele fungerer fint, bortset fra én lille ting - et problem jeg aldrig før er stødt på.
Når jeg uploader swf-filen og kører den på min hjemmeside må jeg ikke indtaste "@" på den almindelige danske måde (Alt Gr + 2), for så skriver den bare et 2-tal. Hvis jeg til gengæld trykker Shift + 2, så laver den et @, men det kan besøgende på min hjemmeside jo ikke vide.
Problemet er særlig underligt, for hvis jeg kører swf-filen fra flash (Ctrl + Enter) eller kører den efter den er eksporteret (men altså ikke fra hjemmesiden), så er der ingen problemer med @'et. Det er kun når den køres via hjemmesiden.
Er der nogen af Jer, der kender til dette problem, og ligger inde med en løsning?
Her er min AS3-kode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | System.useCodePage = true;//Gør at du undgår problemer med æøå var emailData:URLVariables = new URLVariables();//holder vores data som sendes til php'en var request:URLRequest;//vores url request var loader:URLLoader = new URLLoader();//URLLoaderen sender data'en til php sendKnap.addEventListener(MouseEvent.CLICK, sendMail);//"Lytter" om der bliver trykket på knappen "sendKnap" loader.addEventListener(Event.COMPLETE, mailSendt);//Lytter efter hvornår mailen er sendt function sendMail(e:Event):void { //Checker om der er indtastet noget i alle felterne med valider() functionen, som vi laver nede under. if(valider()){ statusText.text = "Vent venligst sender mail...";//Skriver at mailen sendes //Tilføjer hvad der står i input felterne til vores URLVariabler emailData.navn = navnInput.text; emailData.kontakt = kontaktInput.text; emailData.email = emailInput.text; emailData.besked = beskedInput.text; request = new URLRequest("email1.php");//Siger hvor php filen ligger request.method = URLRequestMethod.POST;//Fortæller at dataen skal sendes som POST variabler request.data = emailData;//Tilføjer URLVariablerne til vores request loader.load(request);//Sender dataen til php filen } else { statusText.text = "Udfyld alle felter, tak.";//Skriver at man skal udfylde alle felter } } function valider():Boolean{ //Checker om alle felterne er blevet udfyldt if(navnInput.text != "" && kontaktInput.text != "" && emailInput.text != "" && beskedInput.text != ""){ return true;//true, der noget i alle felter }else{ return false;//false, der er ikke skrevet i alle felterne } } //Denne function "Kører" når mailen er blevet sendt function mailSendt(e:Event){ trace("mail sendt") navnInput.text = "";//tømmer input feltet kontaktInput.text = ""; //tømmer input feltet emailInput.text = "";//tømmer input feltet beskedInput.text = "";//tømmer input feltet gotoAndStop(3); } |
Jeg håber i kan finde mig en løsning ![]()
På forhånd tak,
//deafdigit
2 kommentarer
Har set det før i bl.a. FireFox. Det hænger sammen med hvilken wmode du bruger i din embed kode i html'en.
Der ligger en forklaring her:
http://baseonmars.co.uk/bugs/wmode/
Tak for svaret, Nord.
Hvor underligt det end måtte være, så virkede det rent faktisk, som foreslået på http://baseonmars.co.uk/bugs/wmode/ at ændre wmode til window i stedet for transparent.
Tak for hjælpen