Avatar billede lund_dk Praktikant
25. november 2005 - 16:10 Der er 9 kommentarer og
1 løsning

Hurtig validering spørgsmål

hej

Har denne valideringskode, hvordan indsætter jeg validering på radio knap?


<script type="text/javascript">

function validering(f){


  if(f.FakNavn.value=='') 
  {       
  alert('Du skal udfylde navn på faktura');
    f.FakNavn.focus();
    return false;
}
if(f.FakAdresse.value=='') 
  {       
  alert('Du skal udfylde faktura adresse!');
    f.FakAdresse.focus();
    return false;
}
if(f.FakPostnummer.value=='') 
  {       
  alert('Du skal udfylde faktura postnummer!');
    f.FakPostnummer.focus();
    return false;
}
if(f.FakBy.value=='') 
  {       
  alert('Du skal udfylde faktura by!');
    f.FakBy.focus();
    return false;
}
if(f.FakTelefon.value=='') 
  {       
  alert('Du skal udfylde telefonnummer!');
    f.FakTelefon.focus();
    return false;
}



  var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/i;
  tekst=f.FakEmail.value.toLowerCase();
  if (!regexp.test(tekst)){
      alert ("Du skal indtaste en gyldig e-mail adresse");
      f.Fak-Eemail.focus();
      return false;
  }
 
 

}
</script>
Avatar billede roenving Novice
25. november 2005 - 16:17 #1
Hvis du har flere radios, skal du teste på hver enkelt via det array, det er !-)

-- men der skal vel bare være en valgt, så hvorfor sætter du ikke bare checked på den mest sandsynlige !o]
Avatar billede skovenborg Nybegynder
25. november 2005 - 16:17 #2
Ja, det er altid en bøvlet affære. Der er nemlig ikke meget andet at gøre, end at løbe de forskellige radio-knapper igennem og checke om de er sat til. Fx:
var radioBox = document.formNavn.radioBoxNavn;
var valid = false;
for (var i = 0; i<radioBox.length;i++) {
  valid = radioBox[i].checked;
  if (valid) {break;}
}

Hvis én af radioknapperne var sat til vil valid blive sat til true. Men du kan selvfølgelig modificere det efter dine behov ;-)
Avatar billede roenving Novice
25. november 2005 - 16:20 #3
>>skovenborg

-- jeg ville hoppe uden om den break ting og bare f.eks.

for (var radioBox = document.formNavn.radioBoxNavn, var valid = false, var i = 0; i<radioBox.length;i++) {
  valid = valid || radioBox[i].checked;
}
Avatar billede roenving Novice
25. november 2005 - 16:21 #4
Hrm, der kom vist for mange var-ting, kun den første kan være der !-)
Avatar billede skovenborg Nybegynder
25. november 2005 - 17:19 #5
tja, i teorien ville det være mere praktisk hvis man stoppede loopet, hvis der var fundet en radiobox, som var sat til (men i praksis skal man jo op rigtig mange før man kan mærke forskel ;-)

Et alternativ til break og din udgave kunne være:
for (var radioBox = document.formNavn.radioBoxNavn, valid = false,i = 0; !valid && i<radioBox.length;i++) {
  valid = valid || radioBox[i].checked;
}

Så stopper den også hvis valid pludselig bliver true :-)
Avatar billede roenving Novice
28. november 2005 - 17:08 #6
Jepz, godt set !-)
Avatar billede lund_dk Praktikant
28. november 2005 - 17:12 #7
Tror jeg på en eller anden måde bruger en anden løsning. Men smid et svar som tak for indsatsen.
Avatar billede lund_dk Praktikant
12. januar 2006 - 20:53 #8
Ligger du et svar.. ?
Avatar billede skovenborg Nybegynder
15. januar 2006 - 00:53 #9
ja okay, ved ikke om det var mig du mente, men her er et - og så kan roenving jo også lige smide et til deling :-)
Avatar billede roenving Novice
15. januar 2006 - 04:25 #10
Nej tak, ellers tak !-)
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