webForumDet fria alternativet
Logga in / Bli medlem

Validera okända formulär med loop

JavaScript

1 svar · 267 visningar · startad av Koggen

Medlem sedan juni 2002169 inlägg
Trådstart#1

Jag behöver göra en funktion som loopar elementen i ett formulär och kollar om deras value är tom. Formulären i sig loopar jag ut med ASP, så antalet element kan variera.

Jag har sökt på valideringar (och det finns ju många inlägg om det), men hittar inte riktigt det jag söker. Jag vet att jag sett en sån funktion, och tror till och med att jag använt en för längesedan, men jag får inte till kodningen.

Det är bara koll om fälten / checkboxarna är tomma som behöver göras.

Tack på förhand

Medlem sedan aug. 20039 340 inlägg
#2

Verkar inte vettigt att man ska vara tvungen att kryssa i checkboxar? De finns väl där för att man ska kunna välja om man vill kryssa eller inte. Därför har jag markerat den kod du kan ta bort för att skippa checkboxarna. I övrigt ser det ut så här:

 
<html>
<head>
<script type="text/javascript"><!--

function arbitrarilyValidate(passform){
  var validates = true;
  
  for (i=0; i<passform.elements.length; i++){
      
    switch (passform.elements[i].type.toLowerCase() ){
      case "text":
      case "textarea":
        if (passform.elements[i].value.length == 0)
          validates = false;
        break;
//    BÖRJAN PÅ EV. BORTTAGNING
      case "checkbox":
        if (!passform.elements[i].checked)
          validates = false;
        break;
//    SLUT PÅ EV. BORTTAGNING
    }
  }

  if (!validates)
    alert("Vänligen fyll i alla rutor.");

  return validates;
}

//--></script>
</head>
<body>

<form name="foo" onsubmit="return arbitrarilyValidate(this)">
	
<textarea id="bar"> </textarea> <br />
<input id="check1" type="checkbox" /> <br />
<input id="check2" type="checkbox" /> <br />
<input id="input1" /> <br />
<input id="input2" /> <br />
<input id="input3" /> <br />
<input id="input4" /> <br />
<input id="input5" /> <br />
<input id="input6" /> <br />
<input id="namn" /> <br />
<input type="submit" /> <br />

</form>
</body>
</html>
266 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)