Avatar billede fireworld Nybegynder
14. september 2001 - 22:02 Der er 15 kommentarer og
1 løsning

Timeout?

Nogen der kan lave et script til mig

jeg har 2 input\'s en \"text\" og en \"submit\" i en form jeg vil gerne have at nå man trykker på
submit altså med en \"onsubmit\" så skal den disable min knap og field i 1 sek

en slags flood beskyttelse
Avatar billede jakoba Nybegynder
14. september 2001 - 22:08 #1

<form name=*olsen\' action=\"dest.php\"
      onsubmit=\"if (!this.afsendt){this.afsendt=true;setTimeout(\'document.olsen.afsendt=false;\',1000);return true}else return false;\">

een lang linie fra onsubmit= og resten.

mvh JakobA
Avatar billede jakoba Nybegynder
14. september 2001 - 22:11 #2
Ups:  name=*olsen\'  skal være  name=\'olsen\'
Avatar billede roenving Novice
15. september 2001 - 01:12 #3
>>jakoba
Det er altså den simple løsning på en del spørgsmål, vi har været involveret i =·]
Avatar billede fireworld Nybegynder
15. september 2001 - 09:47 #4
hmmm den virker vist ikke

<form action=\"chat.asp?frame=write\" method=\"post\" onsubmit=\"if (!this.w_msg){this.w_msg=true;setTimeout(\'document.w_form.w_msg=false;\',1000);return true}else return false;\" name=\"w_form\">
<input type=\"text\" name=\"w_msg\" size=\"40\" maxlength=\"120\">


den vil slet ikke submit
Avatar billede jakoba Nybegynder
15. september 2001 - 10:07 #5
dit navn w_mst peger på et tekst-felt med det navn. Det skal det ikke. det navn du bruger skal selet ikke findes andre steder i formen.

prøv:
<form action=\"chat.asp?frame=write\" method=\"post\" onsubmit=\"if (!this.wxyz){this.wxyz=true;setTimeout(\'document.w_form.wxyz=false;\',1000);return true}else return false;\" name=\"w_form\">
<input type=\"text\" name=\"w_msg\" size=\"40\" maxlength=\"120\">

mvh JakobA
Avatar billede jakoba Nybegynder
15. september 2001 - 10:08 #6
Ups  selet -> slet
Avatar billede jakoba Nybegynder
15. september 2001 - 10:18 #7
Inde i brovseren lagres formen som et objekt, der igen indeholder form-felterne som underobjekter.

Det scriptlinien gør et at oprette en ny variabel i form objektet som i eet sekundt efter formen er sendt har værdien true.

betingelsen efter if benytter sig af at hvis man prøver at addressere en variabel der ikke findes får man  false  ud af det.

Grunden til dit forsøg gik galt var at der fandtes et objekt med det anvendte navn i formen allerede, så får man true hvis man bruger objektet som betingelse.
Avatar billede fireworld Nybegynder
15. september 2001 - 10:42 #8
hmmm nu skriver dne.... men den holder ikke beskeden tilbage eller hva med siger...

altså hvis jeg f.eks sætter timeout til 5000 så skulle der gå 5sek før den blev sendt mod min database ikk???

meeen det gør den ikk
Avatar billede jakoba Nybegynder
15. september 2001 - 10:55 #9
nej den skulle blive sendt med det samme.
derefter går der 1000 (5000) millisekunder før den vil sende igen.

prøv at cut&paste:

<form action=\"java script:void(alert(\'testform sendt\'))\" method=\"post\" onsubmit=\"if (!this.wxyz){this.wxyz=true;setTimeout(\'document.testform.wxyz=false;\',10000);return true}else return false;\" name=\"testform\">
<input type=\"text\" name=\"w_msg\" size=\"40\" maxlength=\"120\">
<input type=\'submit\' value=\'test\'>
</form>

ind på en testside.

mvh JakobA
Avatar billede fireworld Nybegynder
15. september 2001 - 10:57 #10
ok det vil sige man kun kan sende ngoet nyt hvert 1sek????
Avatar billede jakoba Nybegynder
15. september 2001 - 11:03 #11
nemlig.
Avatar billede fireworld Nybegynder
15. september 2001 - 11:11 #12
ok ser ud til at virke :)
Avatar billede fireworld Nybegynder
15. september 2001 - 14:20 #13
eller det virker i dit eksempel.. men ikk i mit script.. for jeg har jo en action som siger den skal load samme side igen... såååH det virker ikek alligevelle
Avatar billede jakoba Nybegynder
15. september 2001 - 14:25 #14
du kan evt sætte en  onloadevent ind det tester på om der står noget i feltet, og venter fra da af.

Kan du give et link til siden?

mvh JakobA

reklame: svar på http://www.eksperten.dk/spm/109707
Avatar billede fireworld Nybegynder
15. september 2001 - 15:28 #15
kan jeg desværre ikek da det ligge rpå min server og den vil jeg helst ikke sætte op så det kan ses ude fra.!! (kun test server)

men det er bare et sscript jeg skal bruge som gør at man ikke kan spamme helt vildt med at blive ved med at tryk på submit!!

evt kunne man tage focus af eller noget
Avatar billede jakoba Nybegynder
15. september 2001 - 15:55 #16
Den genloadede side \'starter altid forfra\' og har dermed ikke rigtig nogen mulighed for at vide om den skal vente eller hvad.

Men siden du kører ASP kan du jo fortælle den det fx ved at skrive en lille <script sektion efter din </form kommando:
</form>

<script language=\'javascript\'>
document.all.testform.wxyz=true;
setTimeout(\'document.all.testform.wxyz=false;\',1000);
</script>

i første version af filen skal de 4 linier så ikke være med.

mvh JakobA
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