PS: Ingen grund til at undskylde.. det var bare et ganske almindeligt spørgsmål, for at se tankegangen bag ideen.. :-)
Som sådan set jo er god nok: - ingen grund til at submitte flere gange - det tager normalt under 5 sekunder for serveren at svare, hvilket betyder at man normalt ikke behøver submit-knappen igen - hvis det endeligt går galt, dvs server ikke svarer, skal man have chancen for at sende requestet igen
Jeg har før oplevet, at man skal klikke på et link en ekstra gang, før der sker noget.. ellers står browseren/serveren og laver ikke noget..
Jamen, når du submitter, skiftes siden jo ud med dokumentet i formens action-attribut. JavaScript fungerer på dokument-niveau og vil derfor ikke virke i denne forbindelse =)
Det her vil loade filen "test.htm" i iframen, når man submitter.. og Send-knappen bliver grå, og kan ikke klikkes/aktiveres før der er gået 5 sekunder.
Det er testet og virker i: Opera v9.10, Mozilla FireFox v2.0.0.2, Microsoft Internet Explorer v6 SP2
"Nej, jeg submitter i target Iframe, så submitknappen bliver samme sted." >> nårhhh ... jamen, jeg troede, du havde skrevet en kode, vi kunne forholde os realistisk til. Ellers er det jo svært at hjælpe =)
Man checker for et timestamp lavet med new Date(), når der submittes.. Hvis forskellen på det sidste timestamp og det nye, er 5 sekunder (eller derover) tillades submit, og kontrol-timestamp'et sættes til det nye timestamp..
Pseudo-kode:
subtime = null; // global variabel
function MinFunk() { nytime = new Date(); hvis nytime - subtime >= 5 sekunder { submit_ok_aktiver_submit_event_ting :-) subtime = nytime return true; } ellers { der er ikke gået 5 sekunder endnu, så submit skal ignoreres } return false; }
<form ... onsubmit="return MinFunk()"...>
Eller noget i den stil.. jeg kigger på det engang i aften, hvis der ikke er andre der giver eksempel inden da..
PS: Man skal også lige checke om subtime er lig null osv..
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.