ampyMedlem sedan feb. 20011 498 inlägg Jag har en gästbok och när man ska posta inlägg så kan man hålla in Enter över inputknappen så att jättemånga inlägg postats, handlar om 100-tal x(
Jag tror att man kan lösa detta med Javascript och skrev därför i detta rum. Men kan man lösa så att bara ett inlägg postats?
rojMedlem sedan apr. 2002179 inlägg Lägg till en button.disabled=true när man trycker på knappen.
Och gör så att den blir enabled när man laddar sidan så kan man bara skicka en gång.. =)
ampyMedlem sedan feb. 20011 498 inlägg Fattar inte riktigt hur du menar, så här eller:
<INPUT type="submit" name="Submit" value="Skicka" id="submit" button.disabled=true>
och vart ska jag lägga disabled?
JojoxxMedlem sedan juni 20004 308 inlägg onClick="this.disabled=true;"
Men det funkar bara i nya webbläsare, och behöver inte betyda där heller att det inte går att submitta. Den kan hända att webbläsare skickar formuläret om du trycker [enter] i ett text-fält, även om IE väljer att inte göra det om submit-knappen är disabled.
En annan lösning;
<script language="JavaScript" type="text/javascript">submitted=false;</script>
<form onSubmit="if(submitted){alert('Skicka bara en gång'); return false;}else{submitted=true; return true;}" ...osv
ampyMedlem sedan feb. 20011 498 inlägg Har nu gjort så här:
<script language="JavaScript" type="text/javascript">submitted=false;</script>
<form name="form" method="post" action="skicka.asp?vad=send" onsubmit="return check(this); if(submitted){alert('Skicka bara en gång'); return false;}else{submitted=true; return true;}">
Men man kan fortfarande skicka flera, har jag gjort fel eller?
JojoxxMedlem sedan juni 20004 308 inlägg Därför att formuläret skickas ifall du returnerar true från onSubmit, returnerar du false skickas det inte. I ditt fall returnerar du det som kommer från funktionen check(), det som står efteråt blir alltså betydelselöst. Snyggast vore att baka in "dubbel-skicks" kontrollen i funktionen check, men eftersom jag inte vet hur den ser ut kan du göra så här;
<script language="JavaScript" type="text/javascript">submitted=false;</script>
<form name="form" method="post" action="skicka.asp?vad=send" onsubmit="if(check(this)){ if(submitted){alert('Skicka bara en gång'); return false;}else{submitted=true; return true;}}else{ return false; }">