Avatar billede lordnelson Seniormester
04. januar 2007 - 15:32 Der er 2 kommentarer og
1 løsning

Set focus på felt efter validering

Hej brugerfølgende script lavet af mcclemens
<script type="text/javascript">
function valider(){

  navnerr="Formularen blev ikke afsendt grundet:"; // Start tekst til fejl

  navne=document.getElementsByName("navn"); // Tildeler navne array af elementer med name="navn"

  for(i=0;i<navne.length;i++){ // Gennemløber navne array af elementer
    if(navne[i].value=="")navnerr+="\nDeltager: "+(i+1)+" skal udfyldes";
   
// Hvis navnet ikke indeholder registreres fejl
  }

  if(navnerr=="Formularen blev ikke afsendt grundet:")return true; // Hvis start tekst er standard så afsend
  else{
    alert(navnerr); // ved fejl så alert
    return false; // og stop afsendelse
  }
}
</script>
Er det muligt at sætte focus på det første felt der mangler ?

Hilsen

LN
Avatar billede mclemens Nybegynder
04. januar 2007 - 16:05 #1
Hej LN, hvad med dette:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title><meta name="robots" content="index, follow">

<script type="text/javascript">
function valider(){

  var elmf=false,navnerrs=navnerr="Formularen blev ikke afsendt grundet:"; // Start tekst til fejl
 
  navne=document.getElementsByName("navn"); // Tildeler navne array af elementer med name="navn"

  for(i=0;i<navne.length;i++){ // Gennemløber navne array af elementer

    if(navne[i].value==""){
      // Hvis navnet ikke indeholder noget registreres fejl
      navnerr+="\nDeltager: "+(i+1)+" skal udfyldes";
      if(!elmf)elmf=navne[i]; // Sæt focus til første element med fejl
    }

  }

  if(navnerr==navnerrs)return true; // Hvis start tekst er standard så afsend

  else{
    alert(navnerr); // ved fejl så alert
    elmf.focus(); // Fokuser på første fejl
    return false; // og stop afsendelse
  }

}
</script>

</head><body>
<form method="get" action="2.html" onsubmit="return valider();">
1:<input type="text" name="navn"><br>
2:<input type="text" name="navn"><br>
3:<input type="text" name="navn"><br>
4:<input type="text" name="navn"><br>
5:<input type="text" name="navn"><br>
<input type="submit" value="afsend"><br>
</form>

</body></html>
Avatar billede lordnelson Seniormester
04. januar 2007 - 16:41 #2
elefantus !!!!!!!!!!!!

Tak for hjælpen

Ln
Avatar billede mclemens Nybegynder
04. januar 2007 - 16:50 #3
Velbekom, og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester