Har ett stort problem på min sida. Vissa snorungar finner lycka genom att klicka på submitknappen 100 ggr. Vilket som ni redan vet leder till att det postas 100-tals likadana inlägg i forum och gästböcker mm.
Har frågat om det här många gånger men det verkar inte finnas någon lösning.
Helst vill jag lösa det genom ASP men även Javascript går bra.
Är det någon som har en lösning på "fler-klicks-problemet"?
tydalMedlem sedan juni 20034 013 inlägg Tja, du kan ju disabla knappen efter första klicket med javaskript...
Exempelvis genom följande javaskript på form-taggen:
onSubmit="document.DITT_FORMULÄR.DIN_SUBMITKNAPP.disabled = true; document.DITT_FORMULÄR.DIN_SUBMITKNAPP.value = 'Skickar...'; return true;"
spangoMedlem sedan juni 20008 205 inlägg En annan variant är att du sparar undan tillfället för senaste postning i sessionen.
När man försöker posta kollar servern när man senast postade. Finns inget värde undansparat i sessionen, har man inte postat sedan sessionen inleddes, så då går postningen igenom och man sparar undan klockslaget. Finns det ett värde, kollar man hur länge sedan det var det skedde. Har det gått mindre tid än något godtyckligt tröskelvärde som du definierar (en minut, kanske?) nekas man rätt att posta och ombes vänta. Har det gått längre tid går postningen igenom och klockslaget sparas undan.
Denna metod går att tweaka i det oändliga för att få den mindre irriterande för flitiga postare.
Javascript lösningen lät vättig. Fast jag är inte så het på javascript så jag får det inte att fungera.
Har gjort så här och får fram felmeddelandet: document.post1.submit1 är null eller inte ett objekt.
<form method="post" name="post1" onSubmit="document.post1.submit1.disabled = true; document.post1.submit1.value = 'add.asp?what=guestbook'; return true;">
<input type="image" src="images/buttons/skicka.gif" name="submit1" border="0">
</form>
GuffaMedlem sedan juni 2004533 inlägg Knappar med type="image" finns inte med som element i formuläret. Sätt id på knappen och adressera den med document.getElementById().
Fattar endå inte. Kan noll om Javascript. Har nu gjort så här:
<form method="post" name="post1" onSubmit="document.post1.getElementById().disabled = true; document.post1.getElementById().value = 'add.asp?what=guestbook'; return true;">
<input type="image" src="images/buttons/skicka.gif" id="submit1" border="0">
En sak till, finns det några nackdelar med detta? Exempelvis browsrar som inte klarar av det?
OveRRidEMedlem sedan feb. 200112 078 inlägg Du måste ange namnet på elementet som parameter i getElementById(). Baka ihop det med din validering också, kan vara en bra idé.
function validateFrm() {
// validera ditt formulär, eller return false
document.post1.getElementById('submit1').disabled = true;
return true;
}
[i]... din HTML här... [/i]
<form method="post" name="post1" onSubmit="return validateFrm();">
<input type="image" src="images/buttons/skicka.gif" id="submit1" border="0">
Tråden flyttas från ASP.
En vacker dag borde man ju lära sig Javascript :)
Med vanlig submit knapp får jag det att fungera, men inte med en image-knapp.
Har gjort exakt som du skrev OveRRide:
Mellan head taggarna:
<script language="javaScript">
function validateFrm() {
// validera ditt formulär, eller return false
document.post1.getElementById('submit1').disabled = true;
return true;
}
</script>
Html kod:
<form method="post" action="add.asp?what=guestbook" name="post1" onSubmit="return validateFrm();">
<input type="image" src="images/buttons/skicka.gif" id="submit1" border="0">
pettssonMedlem sedan jan. 20021 122 inlägg Vad händer då? Felmeddelanden/ingenting?
OveRRidEMedlem sedan feb. 200112 078 inlägg Testa det här.
document.getElementById('submit1').disabled = true;
Yeah, klockrent! Tack för all hjälp.