Avatar billede julie76 Nybegynder
28. april 2001 - 05:16 Der er 16 kommentarer og
1 løsning

Spaam

Hmmm...

Fandt lige ud af, at man kan trykke flere gange efter hinanden på submit-knappen til min mailform, så den sender en masse af de samme mails. Og det er jo ikke så smart, da nogle folk har den sygeste humor!
Kan det løses rimelig enkelt og i så fald hvordan?
Formen er lavet JavaScript.
Avatar billede julie76 Nybegynder
28. april 2001 - 05:25 #1
Måske et dumt tidspunkt at stille et spørgsmål på - jeg afventer bare :-)
Avatar billede no_doubt Nybegynder
28. april 2001 - 05:51 #2
lav det i sap og chak forip og sæt til en gang.
Avatar billede no_doubt Nybegynder
28. april 2001 - 05:51 #3
sap = asp ; er stiv
Avatar billede jakoba Nybegynder
28. april 2001 - 07:11 #4
Ja det kan du godt undgå.

Du har formentlig noget validering når folk sender. sidst i den validering indsætter du

  if ( alreadySent ) return false;
  alreadySent = true;

og udenfor valideringsroutinen laver du en variabel

var alreadySent = false;

( hvis dette er uforståeligt så peg på siden med din kode, så kan jeg sige det mere konkret :)

mvh JakobA
Avatar billede julie76 Nybegynder
28. april 2001 - 14:33 #5
Jeg er bare lidt i tvivl om, hvor det skal indsættes, men du må meget gerne lige tage et kig på http://www.whynet.dk/whynet/kontakt/mailform.html

Det er sådan set min brors side, men jeg er lidt med til den :-) Nå, men hvis du samtidig lige kan fortælle mig hvordan jeg giver brugeren en alert, hvis et formularfelt er tomt, så er der 30 point ekstra!
Husk det er en dør du taler til *g*
Avatar billede julie76 Nybegynder
28. april 2001 - 14:35 #6
Du har næsten fortjent pointene, no doubt! Bortset fra at jeg ikke forstod noget som helst af dit svar, aner jeg intet om asp. :-)
Avatar billede jakoba Nybegynder
28. april 2001 - 15:23 #7
Og spørgsmålet har da heller ikke noget med ASP at gøre, men det har nok været en hyggelig aften :-))

validering er at checke om dat i formen formen er korrekte (=gyldige =valid(på engelsk))
på din side gør du det med gunktionen checkform() der returnerer true hvis formen er ok (og må submittes) og returnerer false hvis den ikke er ok.

så det er der funktion vi vil udvide:

istedet for:

function checkForm(){
    ok = true;
   
    if (!(check_Email(document.indtast.Email.value))){
        ok = false;
        alert(\'Du har ikke indtastet en gyldig E-mail adresse!\')
    }
    return ok;
}

skriver du:

var alreadySent = false;

function checkForm(){
    var ok = true;
   
    if (!(check_Email(document.indtast.Email.value))){
        ok = false;
        alert(\'Du har ikke indtastet en gyldig E-mail adresse!\')
    };

    if ( document.indtast.Emne.value == \"\" ) {
        ok = false;
        alert(\"Du skal skrive noget i Emne-feltet\");
        document.indtast.Emne.focus();
    };

    if ( document.indtast.sporgsmaal.value == \"\" ) {
        ok = false;
        alert(\"Du skal skrive noget i besked-feltet\");
        document.indtast.sporgsmaal.focus();
    };

    if ( document.indtast.Navn.value == \"\" ) {
        ok = false;
        alert(\"Du skal skrive noget i besked-feltet\");
        document.indtast.Navn.focus();
    };

    if ( !ok ) return false;        // ikke ordentlig udfyldt

    if ( alreadySent ) return false; // må ikke sende to gange
    alreadySent = true;

    return true;                    // alt iorden. send det
};
____ slut på hvad der skal indsættes.

så skulle der være både felt check og forhindring af gentagne tryk på submit knappen.

mvh JakobA
Avatar billede jakoba Nybegynder
28. april 2001 - 15:26 #8
Hum, jeg kan ikke undskylde mig med promillen:
  \"om dat i\"  ->  \"om data i\"
  \"gunktionen\"  ->  \"funktionen\"
Avatar billede julie76 Nybegynder
28. april 2001 - 17:11 #9
Fornemt, men jeg kan ikke helt få det til at fungere Jacob!
For det første giver den ikke en alert, hvis feltet med Sporgsmaal eller Navn er tomt.

Og når man så trykker OK til alerts´ne får man ikke lov at indtaste. Istedet ryger man til beskedsendt.html og får således en meddelelse om, at den tomme/halvtomme besked er sendt.

Er det dit script der er galt eller bare mig der ikke har indsat det rigtigt?
Avatar billede julie76 Nybegynder
28. april 2001 - 17:13 #10
Avatar billede julie76 Nybegynder
28. april 2001 - 17:19 #11
Tror lige jeg giver lidt flere points...
Avatar billede julie76 Nybegynder
28. april 2001 - 17:34 #12
Der er et eller andet helt galt - den kan også stadig sende flere mail ved klik på knappen...
Avatar billede jakoba Nybegynder
28. april 2001 - 17:36 #13
fejl i min funktion:

    document.indtast.sporgsmaal
ændret til (stort S i Sporgsmaal);
    document.indtast.Sporgsmaal
2 steder i funktionen.

Det ser ud til at være alt hvad der skal ændres.

mvh JakobA
Avatar billede jakoba Nybegynder
28. april 2001 - 17:40 #14
PS: ikke at jeg ikke er grådig. men du behøver ikke at poste så mange points på :)
Avatar billede julie76 Nybegynder
28. april 2001 - 18:04 #15
Der er vel ikke så mange andre måder at fortælle på, at man er yderst glad, idet TAK jo jun er et fattigt ord...
Avatar billede jakoba Nybegynder
28. april 2001 - 18:09 #16
:-))
Avatar billede julie76 Nybegynder
28. april 2001 - 18:11 #17
Nu virker det!! Utroligt at et enkelt tegn kan deaktivere hele funktionen...

Jeg er rigtig glad for, du gad hjælpe mig - det var dejligt!
(Tak)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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