webForumDet fria alternativet

dubbel postnings fel?

JavaScript

5 svar · 316 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#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>
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?

Medlem sedan aug. 20039 340 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

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

Medlem sedan aug. 20039 340 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;}">
Medlem sedan nov. 20031 018 inlägg
#6

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

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)