Bosse168Medlem sedan nov. 20031 018 inlägg Någon som vet vad det är för fel på detta script?
Felet är att den inte hindrar dubbel postning men allt annat funkar.
Javascriptet
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
tempobj.disabled = true;
}
return true;
}
}
// -->
<!--
var maxlength = 200;
function count(box)
{
if(box.value.length > maxlength)
{
box.value = box.value.substring(0, maxlength);
alert("Du får max skriva "+maxlength+" tecken!\nSå det är bara o korta ner ditt GB inlägg");
}
document.tBox.kvar.value = (maxlength - box.value.length);
}
//-->
</SCRIPT>
Och formuläret:
<form method="post" name="tBox" action="../gb/gbskriv.asp" onsubmit="return (checkForm() && disableForm(this))">
<textarea name="text" rows="5" cols="55" onchange="count(this)" onblur="count(this)" onfocus="count(this)" onclick="count(this)" onkeydown="count(this)" onkeypress="count(this)" onkeyup="count(this)" maxlength="200"></textarea><br>
<input type="text" size="3" name="kvar" value="200"> tecken kvar <input type="submit" name="gbsubmit" value="Skriv Gästbok inlägget" class="knapp">
</form>
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
För att klarlägga frågan:
Du vill att alltså inaktivera submit/reset-knapparna?
Det är inte så att du inte hinner se det, dvs sidan postas så snabbt att du inte hinner uppmärksamma det?
Det har du säkert redan kontrollerat, då är nästa fråga om du inte får något felmeddelande?
Det bästa sättet att stävja dubbelpostning är på serversidan. Dvs, när post-sidan skapas får den ett slumpat id, som bara kan användas en gång på servern. På så vis kan man klicka igen om det skulle strula, och man slipper dubbelposter.
För resten bor de du inte sär skriva din men ingar. Det ser ur dumt ut
Bosse168Medlem sedan nov. 20031 018 inlägg J.N.
Jag får inget fel meddelande när jag trycker på submit knappen och fältet sparas.
nitro2k01
Kan du inte förklara lite närmare hur du men ar? :)
Nej, jag vet inte hur man skulle göra i praktiken... Suger på server-språk. Det är en lite mer avancerad lösning.
Vad jag menade var att om något skulle gå fel under tiden att formuläret postas från en användare, så står han där med en disablad knapp... Futtigt problem egentligen.
Jag tror att problemet ligger i denna snutt.
onsubmit="return (checkForm() && disableForm(this))">
pröva detta istället:
onsubmit="if(checkForm()){disableForm(this);}else{return false;}">
Bosse168Medlem sedan nov. 20031 018 inlägg Då händer det ingenting när jag trycker på knappen.