webForumDet fria alternativet

Få ihop 2 javascript funktioner?

3 svar · 237 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 019 inlägg
#1

Kan man på något sätt slå samman dessa två funktioner så man förhindrar dubbelpostning samt kollar att man har fyllt i allt korrekt? Så som det är nu så kommer det upp en alert ruta och submit knappen blir "disabled" om man inte fyller i något av fälten korrekt och man måste uppdatera sidan innan man kan trycka på submit.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function checkForm(){

   
     if (document.tBox.rubrik.value.length <3) {
         alert("Din rubrik måste innehålla mer än 3 bokstäver.");
         return false;
     }
     
     if (document.tBox.text.value.length <5) {
         alert("Ditt inlägg måste innehålla mer än 5 bokstäver.");
         return false;
     }
   }

//-->

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;
}
}
</SCRIPT>

Formuläret

<form name="tBox" method="post" onsubmit="return (disableForm(this) && checkForm());" action="post.asp">

Om jag sätter disableForm efter checkForm så funkar inte disable funktionen alls.

Jesper TMedlem sedan nov. 20017 058 inlägg
#2

Om du döper submitknappen till "submit" och resetknappen till "reset" så kan du kanske göra så här:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function checkForm(theform){
   
     if (theform.elements['rubrik'].value.length <3) {
         alert("Din rubrik måste innehålla fler än 3 bokstäver.");
	 theform.elements['rubrik'].focus();
         return false;
     };
     
     if (theform.elements['text'].value.length <5) {
         alert("Ditt inlägg måste innehålla fler än 5 bokstäver.");
	 theform.elements['text'].focus();
         return false;
     };
	
	theform.elements['submit'].disabled = true;
	theform.elements['reset'].disabled = true;
	return true;
   };

//-->
</SCRIPT>

<form name="tBox" onsubmit="return checkForm(this);">

<textarea name="rubrik"></textarea>
<textarea name="text"></textarea>

<input type="submit" value="Skicka" name="submit">
<input type="reset" value="Reset" name="reset">

</form>

Lägg till method och action i formen också.

Bosse168Medlem sedan nov. 20031 019 inlägg
#3

Det funkar men det dyker upp ett fel mess när jag postar inlägget.
Hinner tyvärr inte läsa vad det står innan jag skickas vidare.

Bosse168Medlem sedan nov. 20031 019 inlägg
#4

Hittade felet hade inte med
<input type="reset" value="Reset" name="reset">

Tackar så mycket :)

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb