Avatar billede charly Nybegynder
19. februar 2002 - 23:33 Der er 5 kommentarer og
1 løsning

undgå flere submits

Hej,

Hvordan undgår man at brugerne 'fyrer'/poster flere submits af, når de klikker på eksempelvis 'Godkend' knappen. Nogle gange er systemet jo lidt langsomt, og det medvirker jo til at nogle brugere klikker igen i stedet for at vente, og jeg ønsker ikke, at modtage den samme 'post' fra brugeren flere gange.

Kan det gøres via asp eller Jscript?

/Charly
Avatar billede earp Nybegynder
19. februar 2002 - 23:34 #1
Du kan vel tjekke om den sidste besked og den nye er ens.
Avatar billede tmceu Praktikant
19. februar 2002 - 23:37 #2
Den sikreste måde er at lave en response.redirect til en anden side, straks efter at du har submitted til databasen (eller hvad du nu gør).

Du kan evt. være så flink at bringe deres oprindelige lokation med over i querystrings eller et hidden field på formen.
Avatar billede s_raagaard Nybegynder
20. februar 2002 - 00:40 #3
Hvis du bruger en request fra submitknappen til at aktivere dit script til db'en kan du f.eks. sætte en lille forspørgsel op....prøv denne lille illustrartion:

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<%
if Request.Form("Send")="Send" then
'....her indsættes kode der opretter post i db'en
Response.Write("Din post er oprettet i databasen")
else
Response.Write("Opret en post i databasen")
end if
%>
<form name="MinForm" action="default.asp" method="POST">
<input type="Text" name="Navn" size="24">
<br>
<br>
<%if Request.Form("Send")="Send" then%>
<input type="submit" name="Send" value="Din post er sendt">
<%else%>
<input type="submit" name="Send" value="Send" OnClick="document.MinForm.Send.Value='Din post er sendt'">
<%end if%>
</form>

</BODY>
</HTML>


/s
Avatar billede charly Nybegynder
20. februar 2002 - 10:00 #4
Måske har jeg ikke udtrykt mig tidligt nok, men i tilfælde af, at recorden ikke er oprettet i db'en, kan man jo selvsagt ikke teste på hvormange gange brugeren har trykket 'godkend' :-)

s_raagaard: Kan man ikke istedet anvende js og teste om der er trykket på submit knappen en gang?

Med andre ord, kan man så ude på klienten ikke lave et tjek på, at der kun må klikkes på 'godkend' een gang indtil ens 'transaktion' er gennemført?

/Charly
Avatar billede sbm Nybegynder
20. februar 2002 - 11:01 #5
Dit spørgsmål er vel en variant af det jeg har oprettet...

http://www.eksperten.dk/spm/174721

Jeg har selv valgt at løse det med session-variable som jeg sætter, og smager på igen inden jeg sætter indlægget i databasen.
Avatar billede charly Nybegynder
20. februar 2002 - 12:20 #6
sbm, ja tak. Det er samme problematik.
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
Kurser inden for grundlæggende programmering

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