Avatar billede mulles.tk Nybegynder
20. januar 2004 - 20:59 Der er 14 kommentarer og
1 løsning

Validering af input

Fandt denne kode på html.dk

<script type="text/javascript">
<!-- Dette script og mange flere -->
<!-- findes hos http://www.html.dk -->
<!-- Start

function validering()
  {
  error = 0;
  if((document.forms[0].tekstfeltnavn.value=='') && (error==0)) 
  {       
    alert('Tekstfeltet skal udfyldes!');
    document.forms[0].tekstfeltnavn.focus();
    error = 1;       
  }           

  if(error == 0)
  document.forms[0].submit();   
  }

// Slut -->
</script>

Men i stedet for at skulle lave scriptet for hvert enkelt felt som skal valideres, kan man så ikke lave et eller andet med generelt, da den jo bare skal undersøge om der er skrevet noget i feltet eller ej. Kan man ikke give alle input som skal valideres et eller andet fælles ID?
Avatar billede gil-galad Nybegynder
20. januar 2004 - 21:07 #1
jo, du kan jo bare kalde felterne det samme..
<input type="text" name="textfield">
<input type="text" name="textfield">
<input type="text" name="textfield">
og så lige ændre de steder hvor der står tekstfeltnavn i scriptet til textfield
Avatar billede gil-galad Nybegynder
20. januar 2004 - 21:08 #2
hmmm det kunne du faktisk ikk ;-)
Avatar billede gil-galad Nybegynder
20. januar 2004 - 21:10 #3
http://www.html.dk/artikler/00016/ scroll ned til der hvor der står "Hvordan validerer man flere felter samtidig?"
Avatar billede mulles.tk Nybegynder
20. januar 2004 - 21:10 #4
nej nemlig, for felterne skal hedde noget individuelt af hensyn til resten af formmailen :)
Avatar billede mulles.tk Nybegynder
20. januar 2004 - 21:11 #5
Men er der en måde, hvor ved man kan undgå at koden bliver så lang?
Avatar billede gil-galad Nybegynder
20. januar 2004 - 21:12 #6
<script type="text/javascript">
<!-- Dette script og mange flere -->
<!-- findes hos http://www.html.dk -->
<!-- Start
function validering()
    {
    error = 0;
    if((document.forms[0].brugernavn.value=='') && (error==0)) 
    {       
        alert('Du skal udfylde feltet med dit navn!');
        document.forms[0].brugernavn.focus();
        error = 1;       
    }   
    if((document.forms[0].epost.value=='') && (error==0)) 
    {       
        alert('Du skal udfylde feltet med din e-mail adresse!');
        document.forms[0].epost.focus();
        error = 1;       
    }   
   
    if(error == 0)
    document.forms[0].submit();   
    }
// Slut -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form action="" method="post" onsubmit="validering();return false;">
<p>Dit navn  : <input type="text" name="brugernavn">
<p>Din email : <input type="text" name="epost">
<p><input type="submit" value="Send">
</form>

det er den måde de har gjort det på html.dk
Avatar billede grunken Nybegynder
20. januar 2004 - 21:16 #7
<script type="text/javascript">

function check(){

elm = document.forms.frm.elements;
str= "Følgende felter mangler at blive udfyldt\n\n";
err = 0;

for (i=0;i<elm.length;i++){
  if (elm[i].value.length==0){
  str+=elm[i].name+" skal udfyldes\n";
  err++
  }
}

if(err>0){
  alert(str);
  return false
}else
  return true;
}
</script>

<form name="frm" method="post" action="test.asp" onsubmit="return check();">
navn
<input type="text" name="name"><br>
nick
<input type="text" name="nick"><br>
telefon
<input type="text" name="telefon"><br>
<input type="submit">
</form>
Avatar billede mulles.tk Nybegynder
20. januar 2004 - 21:41 #8
grunken, er der en måde hvor ved man kan undtage nogen felter i at blive valideret? Altså felter som ikke behøves at blive udfyldt?
Avatar billede grunken Nybegynder
20. januar 2004 - 21:47 #9
det kommer jo osse lidt an på hvordan din form ser ud, men vi kan da udbygge lidt :-)

har du andet end textfelter i formen ?
Avatar billede grunken Nybegynder
20. januar 2004 - 21:58 #10
eks. sådan :-)

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

elm = document.forms.frm.elements;
str= "Følgende felter mangler at blive udfyldt\n\n";
err = 0;

for (i=0;i<elm.length;i++){
if (elm[i].value.length==0 && elm[i].type=="text"){
  if(elm[i].name.charAt(elm[i].name.length-1)!="X"){
  str+=elm[i].name+" skal udfyldes\n";
  err++
  }
}
}

if(err>0){
  alert(str);
  return false
}else
  return true;
}
</script>

<form name="frm" method="post" action="test.asp" onsubmit="return check();">
navn*
<input type="text" name="name"><br>
nick*
<input type="text" name="nick"><br>
telefon*
<input type="text" name="telefon"><br>
skostørrelse
<input type="text" name="skoX"><br>
<input type="submit">
</form>

alle felter der skal udelades ender med X
Avatar billede mulles.tk Nybegynder
20. januar 2004 - 22:15 #11
Hehe... fint nok det med X

Ja jeg har et textfield også!
Avatar billede grunken Nybegynder
21. januar 2004 - 01:32 #12
sådan så :o)

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

elm = document.forms.frm.elements;
str= "Følgende felter mangler at blive udfyldt\n\n";
err = 0;

for (i=0;i<elm.length;i++){
if (elm[i].value.length==0){
  if(elm[i].name.charAt(elm[i].name.length-1)!="X"){
  str+=elm[i].name+" skal udfyldes\n";
  err++
  }
}
}

if(err>0){
  alert(str);
  return false
}else
  return true;
}
</script>
Avatar billede roenving Novice
21. januar 2004 - 06:11 #13
Jeg har følgende (som du jo kan udbygge Nicks X-funktion:

function checkForm(f){
    var txt = "",fjl;
    var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/i;
    for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if ((fld.tagName=='TEXTAREA'||fld.type=="text")&&fld.value==fld.defaultValue){
            txt+="\n\t"+fld.name;
            if(!fjl)fjl = fld;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
            if(!fjl)fjl = fld;
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        fjl.select();
        fjl.focus()
        return false;
    }
    return true;
}
Avatar billede mulles.tk Nybegynder
23. januar 2004 - 14:42 #14
Undskyld ventetiden, men det kan ikke være bedre Grunken! Mange tak, så hvis du lige lægger et svar.

Roenving ~ Den behøver ikke tjekke inputene, men ellers tak!
Avatar billede mulles.tk Nybegynder
20. februar 2004 - 14:13 #15
Grunken, et svar ;) ???
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