Avatar billede oasen Nybegynder
04. april 2002 - 00:10 Der er 8 kommentarer og
1 løsning

Formular må ikke sendes flere gange ved tryk flere gange på submi

Overskriften siger vel det hele.

Når brugeren afsender en formular lagres oplysningerne i en DB og sendes pr. mail. Man kan dog trykke flere gange på SUBMIT, så der kommer X-antal samme beskeder. Fandt en stump JS i gemmerne, men det ser ikke ud til at virke...
Hvis dette allerede er besvret i et andet spm, så giv mig bare et link. Men jeg har ikke selv kunne finde noget.

var alreadySent = false;

function checkForm(){
    var ok = true;
if ( !ok ) return false;        // ikke ordentlig udfyldt

    if ( alreadySent ) return false; // MÅ IKKE SENDE FLERE GANGE
    alreadySent = true;

    return true;                    // ALT I ORDEN - SEND DET
};
Avatar billede oasen Nybegynder
04. april 2002 - 00:11 #1
Og i <form>: onSubmit="return checkForm()"
Avatar billede jakoba Nybegynder
04. april 2002 - 00:31 #2
De fleste forms vil når de bliver sendt genloade siden med formen i.

så forsvinder værdier der evt er sat i en javascript variabel på siden.

men hvis det er det der sker ville data i din form også blive resat ???

hvordan ser din <form kommando ud?

mvh JakobA
Avatar billede oasen Nybegynder
04. april 2002 - 00:36 #3
2 sek
Avatar billede oasen Nybegynder
04. april 2002 - 00:39 #4
Når formen afsendes udføres en validering af denne med ASP, der rent ud sagt tjekker i hoved og r.. Hvis alle indtastede data er i orden gemmes oplysningerne i gæstebogen, og der omdirigeres til forsiden, der dermed opdateres (tom formular). Men der mangler lige denne funktion. Her er selve html-koden til formen:


' OPSKRIV FORM %>

    <tr>
    <td class="formleft"><font class='normal'>Dit navn:</font></td>
    <td class="formright"><input type="text" value="" size="42" maxlength="40" name="afsender"></td>
    </tr>
    <tr>
    <td class="formleft"><font class='normal'>Evt. e-mail:</font></td> 
    <td class="formright"><input type="text" value="" size="42" maxlength="40" name="email"></td>
    </tr>
    <tr>
    <td class="formleft"><font class='normal'>Evt. hjemmeside:</font></td>
    <td class="formright"><img src="http.gif" alt=""><input type="text" value="" size="30" maxlength="35" name="hjemmeside"></td>
    </tr>
    <tr>
    <td class="formleft"><font class='normal'>Bopæl:</font></td> 
    <td class="formright"><select name="amt">
        <option value="Vælg Amt" selected="selected">V&aelig;lg Amt</option>
        <option value="Kbh./Frederiksberg">Kbh./Frederiksberg</option>
        <option value="Storkøbenhavn">Stork&oslash;benhavn</option>
        <option value="Frederiksborg">Frederiksborg</option>
        <option value="Vestsjælland">Vestsj&aelig;lland</option>
        <option value="Bornholm">Bornholm</option>
        <option value="Storstrøm">Storstr&oslash;m</option>
        <option value="Roskilde">Roskilde</option>
        <option value="Fyn">Fyn</option>
        <option value="Sønderjylland">S&oslash;nderjylland</option>
        <option value="Vejle">Vejle</option>
        <option value="Ringkøbing">Ringk&oslash;bing</option>
        <option value="Århus">&Aring;rhus</option>
        <option value="Viborg">Viborg</option>
        <option value="Nordjylland">Nordjylland</option><option value="Ribe">Ribe</option>
        <option value="Andet">Andet</option>
    </select></td>
    </tr>
    <tr>
    <td class="formleft"><font class='normal'>Din besked:</font></td>
    <td class="formright"><textarea name="besked" rows="3" cols="30" onkeypress="maxlength(500)"></textarea></td>
    </tr>
    <tr>
    <td colspan="2" class="colspan2"><input type="submit" name="submit" value="Send indlæg">&nbsp;&nbsp;<input type="reset" name="reset" value="Slet alt"></td>
    </tr>
Avatar billede oasen Nybegynder
04. april 2002 - 00:40 #5
Og <form>-kommandoen, hvis det var den du er ude efter:

<form method="POST" action="index.asp?submit=ok" name="form" onSubmit="return checkForm()">
Avatar billede jakoba Nybegynder
04. april 2002 - 00:48 #6
Sært. det burde virke.

mvh JakobA
Avatar billede oasen Nybegynder
04. april 2002 - 01:05 #7
Ja, jeg tror sågar det var dig, jeg fik funktionen af i tidernes morgen, men jeg har fået det lavet med ASP, således at brugeren heller ikke kan trykke BACK og sende den igen. Jeg lister den lige her, så andre også kan få glæde af den, selvom det er den forkerte kategori.

<% ' HVIS NOGET ER SENDT FRA FORMEN
if Request.Querystring("submit") = "ok" Then
If Session("sent") = "ja" Then
Session("sent") = "nej"
Response.Redirect "error.asp"
End If
Session("sent") = "ja"

' HVIS ALT ER OK:

Bla bla bla
Avatar billede oasen Nybegynder
04. april 2002 - 01:11 #8
Men tak for interessen alligevel. Jeg får nok brug for din hjælp på et andet tidspunkt :)
Avatar billede jakoba Nybegynder
04. april 2002 - 01:13 #9
oki. :-)
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