webForumDet fria alternativet

dubbel postnings fel?

5 svar · 316 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 018 inlägg
#1

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">&nbsp;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
#2

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?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

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
#4

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? :)

nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

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
#6

Då händer det ingenting när jag trycker på knappen.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)