Avatar billede landmark Nybegynder
10. april 2003 - 17:35 Der er 55 kommentarer og
1 løsning

Form mail... i FLA

- er der nogen som har en FLA fil eller et link til én - med en standart formmail som jeg kan bygge om...!

håber i forstår...?

haster!
Avatar billede mat Nybegynder
10. april 2003 - 17:41 #1
http://www.actionscripts.org/movies-results.php?category=backEnd - har et par stykker, men tjek dit hotel, de plejer at have formmail scripts liggende som de selv understøtter.
Avatar billede landmark Nybegynder
10. april 2003 - 22:08 #2
Når jeg fyrer 100 point af på det her... - er det lige som at jeg godt kunne tænke mig et nøjagtig link på sagen eller evt. en FLA fil i en mail på hl@1w.dk

måske lidt for lige på... "tell me if i am wrong....?"

(jeg er godt klar over at jeg skal tilpasse cgi-scriptet alt afhængigt hvilket webhotel jeg bruger...) - men det er vel til for at blive løst...!
Avatar billede landmark Nybegynder
11. april 2003 - 10:56 #5
ok! fint nok! tak til jer alle! for indsatsen! MEN! er der en der kan sige mig hvad jeg skal ændre i den her smørre...?


on (release) {
    // checking if one or two of the two "must"-textfields are empty. (You can change them if you like!)
    if (navn ne "" and email ne "") {
        e = "0";
        snabelatjek = 0;
        // This loop counts the number of letters (one at the time) typed in the email-field, and at the same time if a "@" is typed in the field
        while (Number(e)<=Number(length(email))) {
            if (substring(email, e, 1) eq "@") {
                snabelatjek = 1;
            }
            e = Number(e)+1;
        }
        // If "snabelatjek = 0 - there is no "@" in the field; the movie goes to the label "advarsel" where the warning is displayed
        if (Number(snabelatjek) == 0) {
            gotoAndStop("advarsel");
        } else {
            subject = "from my website";
            recipient = "name@domain.com";
            // Redirect gives the option  to go to"message recived-page". This URL calls an nonexsisting html-page - see what happens with the email you recive, if you move the redirect-variable!  don't (hmmm??) Please tell if you know how and why!!
            redirect = "http://home.worldonline.com/larsbro/test/tom.html";
            // The two variables e og snabelatjek are cleared - so the are not included in the email
            e = "";
            snabelatjek = "";
            // calls the formMail script (on my server) write your own URL
            loadVariables("/cgi-bin/formmail/FormMail.pl", "", "POST");
            gotoAndStop("sendt");
        }
    } else {
        // If "navn" and "e-mail" are empty - the movie will go to the label (advarsel)
        gotoAndStop("advarsel");
    }
}
Avatar billede landmark Nybegynder
11. april 2003 - 11:05 #6
det er den her.... scriptet kommer fra...
http://www.1w.dk/formmail.fla
Avatar billede landmark Nybegynder
11. april 2003 - 11:06 #7
jeg vil godt forhøje points for den som ønsker at tilrette FLA filen... :-)
Avatar billede paask Nybegynder
11. april 2003 - 13:54 #8
Hvad er det præcist du gerne vil have lavet? Udover at koden ovenover er skrevet med Flash 4 syntax og bør blive omskrevet, så virker den vel?
Avatar billede paask Nybegynder
11. april 2003 - 13:58 #9
Du bør heller ikke sende brugeren til en 'advarsel!' side, men blot skrive det i inputfeltet og/eller have en rød stjerne derved - klassisk brugervenlighed :)
Avatar billede landmark Nybegynder
11. april 2003 - 14:21 #10
>mat
>amokart

lægger i også lige et svar så jeg kan dele points til jer...
Avatar billede landmark Nybegynder
11. april 2003 - 14:23 #11
>paask - har du en anden og nyere kode...?
Avatar billede paask Nybegynder
11. april 2003 - 14:55 #12
Jeg har den ikke, men kan nemt omskrive den. Det eksempel du går udfra er et Flash 4 eksempel, hvis du har tænkt dig at benytte Flash MX kan jeg da godt omskrive til en mere velstruktureret kode.
Avatar billede paask Nybegynder
11. april 2003 - 15:36 #13
Well, har lige lavet et eksempel med et par nyttige form features.

Det er MX kode, og kræver at du giver tekstfelterne samme instancenavn som deres nuværende variabelnavn, og derefter sletter variabelnavnet.

// frame script
stop();
// variabel der bruges til at tjekke antal ok must fields
sendMail = 0;
// de tekster du kan vise i dine fields hvis de er udfyldt forkert
navnString = "Skriv dit navn her";
emailString = "Skriv din email her";
// antal fields der er et must, her navn og email
antalMust = 2;
// array der indeholder tekstfelternes instance navne, bruges til at lave tabindex
selections = new Array("navn", "www", "email", "besked");
// løkke der skaber tabindex samt en onFocus funktion der tømmer tekstfelter
// on click hvis de er udfyldt med ovenstående strings
for (i=0; i<selections.length; i++) {
    theName = selections[i];
    this[theName].tabIndex = i+1;
    this[theName].onSetFocus = function() {
        if (this.text == navnString || this.text == emailString) {
            this.text = "";
        }
    };
}
// sætter fokus på første tekstfelt
Selection.setFocus(navn);
// som navnet fortæller, tjekker din email-string for @, punktummer etc.
// lavet af D!ktator i sin tid :0)
function snabelA(strEmail) {
    var checkOn = 1;
    checkOn = checkOn && (a=strEmail.indexOf("@"))>0;
    checkOn = checkOn && a == strEmail.lastIndexOf("@");
    checkOn = checkOn && a<strEmail.lastIndexOf(".");
    checkOn = checkOn && substring(strEmail, a+2, 1) != ".";
    checkOn = checkOn && substring(strEmail, a, 1) != ".";
    checkOn = checkOn && (strEmail.lastIndexOf(".")+2)<strEmail.length;
    checkOn = checkOn && (strEmail.lastIndexOf(".")+6)>strEmail.length;
    return checkOn;
}
// funktionen der kaldes fra knappem
function buttonCall() {
    // hvis name ikke er skrevet eller er udfyldt af string ovenfor sendes mail ikke
    if (navn.text == "" || navn.text == null || navn.text == navnString) {
        navn.text = navnString;
        sendMail--;
    } else {
        sendMail++;
    }
    // hvis mail ikke er korrekt, ikke skrevet eller udfyldt af emailString sendes mail ikke
    if (snabelA(email.text)) {
        sendMail++;
    } else {
        email.text = emailString;
        sendMail--;
    }
    // hvis de to variabler er ens er felter udfyldt korrekt og mail sendes
    if (sendMail == antalMust) {
        trace("send mail");
        // brugt fra din skabelon:
        subject = "from my website";
        recipient = "name@domain.com";
        redirect = "http://home.worldonline.com/larsbro/test/tom.html";
        loadVariables("/cgi-bin/formmail/FormMail.pl", "", "POST");
        this.gotoAndStop("sendt");
        //
    }
    sendMail = 0;
}


// knap script, ganske overskueligt :)
on (release) {
    buttonCall();
}


Prøv det af, det er let at tilpasse til flere / færre felter etc.

mvh
paask
Avatar billede landmark Nybegynder
11. april 2003 - 15:37 #14
Nu har fået oplyst denne linie fra min udbyder...
http://www.damo.dk/cgi-bin/FormMail.pl

men jeg kan stadig ikke få det til...?

on (release) {
// checking if one or two of the two "must"-textfields are empty. (You can change them if you like!)
if (navn ne "" and email ne "") {
  e = "0";
  snabelatjek = 0;
  // This loop counts the number of letters (one at the time) typed in the email-field, and at the same time if a "@" is typed in the field
  while (Number(e)<=Number(length(email))) {
  if (substring(email, e, 1) eq "@") {
    snabelatjek = 1;
  }
  e = Number(e)+1;
  }
  // If "snabelatjek = 0 - there is no "@" in the field; the movie goes to the label "advarsel" where the warning is displayed
  if (Number(snabelatjek) == 0) {
  gotoAndStop("advarsel");
  } else {
  subject = "henvendelse via screencom site";
  recipient = "hl@1w.dk";
  // Redirect gives the option  to go to"message recived-page". This URL calls an nonexsisting html-page - see what happens with the email you recive, if you move the redirect-variable!  don't (hmmm??) Please tell if you know how and why!!
  redirect = http://www.screencom.dk/tom.htm;
  // The two variables e og snabelatjek are cleared - so the are not included in the email
  e = "";
  snabelatjek = "";
  // calls the formMail script (on my server) write your own URL
  loadVariables("/cgi-bin/formmail/FormMail.pl", "", "POST");
  gotoAndStop("sendt");
  }
} else {
  // If "navn" and "e-mail" are empty - the movie will go to the label (advarsel)
  gotoAndStop("advarsel");
}
}
Avatar billede landmark Nybegynder
11. april 2003 - 15:39 #15
>paask - er du frisk på at rette det ... evt. et nyt script til MX og i så fald hvor mange point...?
Avatar billede paask Nybegynder
11. april 2003 - 16:07 #16
Hehe, jeg sendte 12 sekunder før du gjorde :)

Men jeg har jo, som du kan se, lavet en MX kodning af det du søger.

mvh
paask
Avatar billede landmark Nybegynder
11. april 2003 - 16:30 #17
fatter ikke en brik...? har prøvet at rette den her til... men den er helt gal...? - http://www.1w.dk/form-ny.fla
Avatar billede landmark Nybegynder
11. april 2003 - 16:32 #18
bortset fra det! -så tak for indsatsen!
Avatar billede paask Nybegynder
11. april 2003 - 17:06 #19
Well, drikker lige et par fyraftensøl, men kan se på det engang senere. Så retter jeg lige din fil til så det virker.
Avatar billede landmark Nybegynder
11. april 2003 - 17:09 #20
jammen! - så siger jeg også skål! og tak for hjælpen! ser frem til løsningen.

:-)
Avatar billede paask Nybegynder
11. april 2003 - 17:45 #21
Skål :0)
Avatar billede paask Nybegynder
11. april 2003 - 20:13 #22
Hey landmark,

Jeg sidder netop nu pg ser på din fil, og det ser ud som om du er ganske tæt på.

Du skal, først og fremmest, flytte al scriptet fra knappen til din 1. frame. Som det er nu, har du indsat min kode på knappen, men en del af det er frame script og skal ikke på knappen. For nemheds skyld, så markér din knap, og giv den instance navnet 'btn' (uden ' ').  Det eneste du så skal gøre er, at indsætet denne kode i din 1. frame. Markér frame 1 og indsæt efterfølgende:

// frame script
stop();
// variabel der bruges til at tjekke antal ok must fields
sendMail = 0;
// de tekster du kan vise i dine fields hvis de er udfyldt forkert
navnString = "screencom";
emailString = "hl@1w.dk";
// antal fields der er et must, her navn og email
antalMust = 2;
// array der indeholder tekstfelternes instance navne, bruges til at lave tabindex
selections = new Array("navn", "www", "email", "besked");
// løkke der skaber tabindex samt en onFocus funktion der tømmer tekstfelter
// on click hvis de er udfyldt med ovenstående strings
for (i=0; i<selections.length; i++) {
    theName = selections[i];
    this[theName].tabIndex = i+1;
    this[theName].onSetFocus = function() {
        if (this.text == navnString || this.text == emailString) {
            this.text = "";
        }
    };
}
// sætter fokus på første tekstfelt
Selection.setFocus(navn);
// som navnet fortæller, tjekker din email-string for @, punktummer etc.
// lavet af D!ktator i sin tid :0)
function snabelA(strEmail) {
    var checkOn = 1;
    checkOn = checkOn && (a=strEmail.indexOf("@"))>0;
    checkOn = checkOn && a == strEmail.lastIndexOf("@");
    checkOn = checkOn && a<strEmail.lastIndexOf(".");
    checkOn = checkOn && substring(strEmail, a+2, 1) != ".";
    checkOn = checkOn && substring(strEmail, a, 1) != ".";
    checkOn = checkOn && (strEmail.lastIndexOf(".")+2)<strEmail.length;
    checkOn = checkOn && (strEmail.lastIndexOf(".")+6)>strEmail.length;
    return checkOn;
}
// funktionen der kaldes fra knappem
function buttonCall() {
    // hvis name ikke er skrevet eller er udfyldt af string ovenfor sendes mail ikke
    if (navn.text == "" || navn.text == null || navn.text == navnString) {
        navn.text = navnString;
        sendMail--;
    } else {
        sendMail++;
    }
    // hvis mail ikke er korrekt, ikke skrevet eller udfyldt af emailString sendes mail ikke
    if (snabelA(email.text)) {
        sendMail++;
    } else {
        email.text = emailString;
        sendMail--;
    }
    // hvis de to variabler er ens er felter udfyldt korrekt og mail sendes
    if (sendMail == antalMust) {
        trace("send mail");
        // brugt fra din skabelon:
        subject = "svar via formmail";
        recipient = "hl@1w.dk";
        redirect = "http://www.1w.dk/tom.html";
        loadVariables("http://www.damo.dk/cgi-bin/FormMail.pl", "", "POST");
        this.gotoAndStop("sendt");
        //
    }
    sendMail = 0;
}
btn.onRelease = function() {
    buttonCall();
};


Der er bare én ting, og det er at du har ændret variablerne navnString og emailString. De bliver, somdu nok har forstået, brugt til at indsætte en comment om at man ikke har udfyldt input fields korrekt. Så jeg mener du bør ændre dem tilbage til 'Skriv dit navn her' etc.

Men som sagt burde det virke hvis du gør som jeg foreslår, ellers giv lidt feedback.

mvh
paask
Avatar billede paask Nybegynder
11. april 2003 - 20:14 #23
I øvrigt, er www feltet ikke lidt corny? Måske du istedet burde have en 'from_email' som du bruger til at sende mailen fra...
Avatar billede landmark Nybegynder
11. april 2003 - 21:28 #24
Jeg har nu flyttet hele smørren over på den første frame... - det virker stadig ikke...?
:-(
Avatar billede paask Nybegynder
11. april 2003 - 21:30 #25
Hvad er det præcist der ikke virker?

Virker tabindex? Bliver der skrevet tekster i inputfelterne hvis de er udfyldt forkert? Bliver de igen fjernet on focus?
Avatar billede landmark Nybegynder
11. april 2003 - 21:31 #26
der sker ganske enkelt ingen ting... når man klikker på henholdsvis "slet" og og "send"
Avatar billede paask Nybegynder
11. april 2003 - 21:31 #27
Har du brugt den tekst jeg har skrevet ovenfor, og husket at give knappen navnet btn ?
Avatar billede landmark Nybegynder
11. april 2003 - 21:34 #28
på knappen står der nu...

btn.onRelease = function() {
    buttonCall();
};

og den har fået instance name btn

...?
Avatar billede paask Nybegynder
11. april 2003 - 21:37 #29
Ah ok, der skal slet ingen kode være på selve knappen. Vi bruger nu MX metode, hvor det hele er dot-syntax. Dertfor skal knappen kun have et navn, og selve koden der trigger eventet,

btn.onRelease = function() {
    buttonCall();
};

skal skrives i et frame scipt i samme clip som knappen er, i dette tilfælde i selve roden. Prøv at flytte koden dertil...
Avatar billede landmark Nybegynder
11. april 2003 - 21:50 #30
nu gør den sådan her...?
http://www.screencom.dk/formmail.swf
sådan ser den ud...
http://www.screencom.dk/formmail.fla

der er intet tekst på knappen...

sletknappen virker ikke ...
den klager ikke mere - hvis man glemmer at skrive sin email
og der bliver ikke sendt nogen mail...?

det er sgu svært det her...
Avatar billede paask Nybegynder
11. april 2003 - 21:57 #31
Kan se den ikke klager i den fil du har lagt ud, men det gør den nu når jeg eksporterer?!

På sletknappen skal dette stå:

on (release) {
    // resets all variables
    navn.text = "";
    www.text = "";
    email.text = "";
    besked.text = "";
}


eller alternativt giver du den navnet reset og skriver denne kode i frame 1 som med den anden knap:

reset.onRelease = function (){
    // resets all variables
    navn.text = "";
    www.text = "";
    email.text = "";
    besked.text = "";
}

Prøv evt. at bruge loadVariables uden Post, altså således:
loadVariables("http://www.damo.dk/cgi-bin/FormMail.pl", this);

Er det i øvrigt den korrekte sti til dit mail script? Desuden behøver stien ikke være absolut, men kan være relativ i forhold til din flash fil.
Avatar billede paask Nybegynder
11. april 2003 - 21:58 #32
Svært? Tja måske, men lidt sjovt må du da indrømme :0)

Henter lige en kop mokka ...
Avatar billede landmark Nybegynder
11. april 2003 - 22:04 #33
nu skriver den det her...?
Scene=tutorial, Layer=actions, Frame=1: Line 61: Wrong number of parameters; loadVariables requires between 2 and 3.
            loadVariables("http://www.damo.dk/cgi-bin/FormMail.pl")

og gør sådan ...?
http://www.screencom.dk/formmail.swf
og sådan ser den ud...
http://www.screencom.dk/formmail.fla
Avatar billede paask Nybegynder
11. april 2003 - 22:07 #34
Det er nu nok fordi der er fejl i scriptet. Du mangler at angive et target, skriv som jeg gør ovenfor
loadVariables("http://www.damo.dk/cgi-bin/FormMail.pl", this);
eller
loadVariables("http://www.damo.dk/cgi-bin/FormMail.pl", "");

Begge angiver _root som target.
Avatar billede landmark Nybegynder
11. april 2003 - 22:13 #35
det er gjort.... - nu gør den sådan...
http://www.screencom.dk/formmail.swf

der ryger ikke noget igennem på mail... - den mangler navnet når den siger tak... og den er ligeglad om man bruger @ i mailadressen...
Avatar billede paask Nybegynder
11. april 2003 - 22:21 #36
Ok, så prøver vi at hardcode variablerne til formmailen.

Skriv dette nederst i buttonCall funktionen:

    if (sendMail == antalMust) {
        trace("send mail");
        from = navn.text;
        web = www.text;
        mail = email.text;
        comment = besked.text;
        subject = "svar via formmail";
        recipient = "hl@1w.dk";
        redirect = "http://www.1w.dk/tom.html";
        url = "http://www.damo.dk/cgi-bin/FormMail.pl";
        sendString = url+"?redirect="+redirect+"&recipient="+recipient+"subject="+subject+"comment="+comment+"&mail="+mail+"&web="+web+"&from="+from;
        loadVariables(sendString, this);
        this.gotoAndStop("sendt");
        //
    }


I framen "sendt" skriver du
navn = from;


Jeg forstår ikke helt hvad du mener den er ligeglad med @ ?
Avatar billede paask Nybegynder
11. april 2003 - 23:18 #37
Du skal selvfølgelig have styr på, at navnene stemmer overens på de der bliver sendt afsted og de din form forventer. Altså de variabler vi concatter med +"&variabel="+ etc.
Avatar billede landmark Nybegynder
12. april 2003 - 00:11 #38
nå! nu er der da noget der virker... - har taget et helt nyt script - lidt mere up to date... men nu med noget PHP...?

nu ryger der ganske vist en mail igennem på mailadressen, men nu mangler de oplysninger man skriver ind i skemaet....?

http://www.screencom.dk/form2.swf
http://www.screencom.dk/form2.fla
http://www.screencom.dk/simple_emailform.php

Jeg ved ikke om du stadig gider hjælpe...? - det er jo efterhånden ved at være lidt langt... :o)  ellers lukker jeg bare spørgsmålet og opretter nyt!
Avatar billede paask Nybegynder
12. april 2003 - 00:45 #39
Argh... magter ikke at skulle til at rette endnu en fil til. Jeg laver lige en hurtig fil der også indeholder check om mail er sendt afsted korrekt. Den bruger så php, men det ser jo også ud som om det er ok med dig.

Skal den sende mail et bestemt sted hen eller skal man kunne sende til forskellige (i.e. selv skrive to mail adress) ?
Avatar billede landmark Nybegynder
12. april 2003 - 00:46 #40
yes! - læg lige et svar....
Avatar billede paask Nybegynder
12. april 2003 - 00:47 #41
Da ikke noget svar før du har fået en mail med stuff...
Avatar billede landmark Nybegynder
12. april 2003 - 00:47 #42
ok!
Avatar billede landmark Nybegynder
12. april 2003 - 00:49 #43
den her virker ellers perfekt! - jeg er bare ikke så god til italiensk...

:-)

http://www.screencom.dk/mail.swf
http://www.screencom.dk/mail.fla
http://www.screencom.dk/mail.php
Avatar billede paask Nybegynder
12. april 2003 - 00:50 #44
Vil du så nøjes med den, eller skal jeg lige rode færdigt ?
Avatar billede landmark Nybegynder
12. april 2003 - 00:52 #45
jeg kan godt finde ud af at oversætte den her...

http://www.screencom.dk/mail.swf
http://www.screencom.dk/mail.fla
http://www.screencom.dk/mail.php

Men det generer mig lidt at den ikke konfirmerer og siger tak for henvendelsen....
Avatar billede paask Nybegynder
12. april 2003 - 00:53 #46
Så hæng lige på, er ved at lave en løsning...
Avatar billede landmark Nybegynder
12. april 2003 - 00:54 #47
hov shiit... jeg kom da lige til at gi point - den er storslem.,,,

bare rolig jeg skal nok få givet dig point paask - under alle omstændigheder...
Avatar billede landmark Nybegynder
12. april 2003 - 00:55 #48
er vist ved at være lidt træt....

men jeg venter spændt!
Avatar billede paask Nybegynder
12. april 2003 - 00:55 #49
Ok... hvilke input fields skal der egenlig være ? Bare navn, e-mail og kommentar?
Avatar billede landmark Nybegynder
12. april 2003 - 00:55 #50
>storslem.... - gir du lyd...?
Avatar billede landmark Nybegynder
12. april 2003 - 00:56 #51
som sagt....
jeg kan godt finde ud af at oversætte den her... jeg syntes den er ret god!

http://www.screencom.dk/mail.swf
http://www.screencom.dk/mail.fla
http://www.screencom.dk/mail.php

Men det generer mig lidt at den ikke konfirmerer og siger tak for henvendelsen....
Avatar billede paask Nybegynder
12. april 2003 - 00:59 #52
Ok...... hvis du er glad nok for den (mangler nogle features efter min mening) så bare brug den. Når du sender kan du gå til en frame der tjekker om en variabel ændrer sig (confirmation).

Ex. sæt checkme = "nope"; i første frame, og skriv
echo ("&checkme=".$checkme);

i php scriptet, så returnerer den checkme som "ok", det kan du så tjekke på i Flash. Det er sku for sent for mig til at rette i den anden fil her nu...
Avatar billede paask Nybegynder
12. april 2003 - 01:00 #53
Oops, selvfølgelig dette

$checkme = "ok";
echo ("&checkme=".$checkme);

i php scriptet...
Avatar billede landmark Nybegynder
12. april 2003 - 01:03 #54
Fint nok! - hvad kunne du tænke dig i points...?
Avatar billede paask Nybegynder
12. april 2003 - 01:08 #55
Hep, har lige sendt dig et par filer. Er ikke helt 100 på om den virker efter planen, har ikke testet den, men burde vel virke.

Points? Det ved jeg ikke lige, det bestemmer du :0)
Avatar billede landmark Nybegynder
12. april 2003 - 01:22 #56
ok! tak for din mail

fortsætter lige her...
http://www.eksperten.dk/spm/339660

- tror lige jeg tar et par timer på øjet - kikker på det imorgen!
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