Avatar billede weiland Nybegynder
28. juni 2003 - 10:42 Der er 4 kommentarer og
1 løsning

validering af select og checkbox

Jeg har to selects og en checkbox. Man skal mindst vælge en af de tre, men kun een.
Jeg har forsøgt med følgende (som skulle sikre, at mindst en var valgt), men det virker ikke... Formularen afsendes uden videre.

function validateFields() {

var strTilhoersAmtID=document.TheForm.TilhoersAmtID.value
var strTilhoersKommID=document.TheForm.TilhoersKommID.value
var strTilhoersPrivat=document.TheForm.TilhoersPrivat.value


var strErrorMsg=''

if (strTilhoersAmtID=='0' && strTilhoersKommID=='0' && (!strTilhoersPrivat.checked)) {
  strErrorMsg+='      * Vælg privat, amt eller kommune (under forvaltningsmæssigt tilhørsforhold) \n'
    }

if (strTilhoersAmtID != "" && strTilhoersAmtID != "0" && strTilhoersKommID != "" && strTilhoersKommID != "0") {
  strErrorMsg+="      * Du kan ikke vælge BÅDE amt og kommune (under forvaltningsmæssigt tilhørsforhold)  \n";
    }
   
if (strErrorMsg!='') {
  strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg
  alert (strErrorMsg);
  return false;
}

else {
  return true;
}
}
Avatar billede roenving Novice
28. juni 2003 - 11:14 #1
Hvorfor checker du for om felterne indeholder tegnet '0' ??-)
Avatar billede roenving Novice
28. juni 2003 - 11:20 #2
Selects værdi findes på denne måde:

selectbox.options[selectbox.selectedIndex].value og checkboxes har en værdi, som hedder checked, når de er afkrydset ...

function validateFields() {

var strTilhoersAmtID=document.TheForm.TilhoersAmtID.options[document.TheForm.TilhoersAmtID.selectedIndex].value;
var strTilhoersKommID=document.TheForm.TilhoersKommID.options[document.TheForm.TilhoersKommID.selectedIndex].value;
var strTilhoersPrivat=document.TheForm.TilhoersPrivat.checked;


var strErrorMsg=''

if (strTilhoersAmtID=='0' && strTilhoersKommID=='0' && (!strTilhoersPrivat)) {
  strErrorMsg+='      * Vælg privat, amt eller kommune (under forvaltningsmæssigt tilhørsforhold) \n'
    }

if (strTilhoersAmtID != "" && strTilhoersAmtID != "0" && strTilhoersKommID != "" && strTilhoersKommID != "0") {
  strErrorMsg+="      * Du kan ikke vælge BÅDE amt og kommune (under forvaltningsmæssigt tilhørsforhold)  \n";
    }
   
if (strErrorMsg!='') {
  strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg
  alert (strErrorMsg);
  return false;
}

else {
  return true;
}
}

Og hvorfor teste for om værdien er '0' ryste ryste ( folk må tro jeg har Alzheimer *g*)
Avatar billede weiland Nybegynder
28. juni 2003 - 16:53 #3
Jamen, du har jo ret i alt, hvad du siger :-)
Nu har jeg følgende kode, og det virker perfekt.... (svar lige)

function validateFields() {

var strTilhoersAmtID=document.TheForm.TilhoersAmtID.options[document.TheForm.TilhoersAmtID.selectedIndex].value;
var strTilhoersKommID=document.TheForm.TilhoersKommID.options[document.TheForm.TilhoersKommID.selectedIndex].value;
var strTilhoersPrivat=document.TheForm.TilhoersPrivat.checked;

var strErrorMsg=''

if (strTilhoersAmtID=='0' && strTilhoersKommID=='0' && (!strTilhoersPrivat)) {
  strErrorMsg+='      * Vælg privat, amt eller kommune (under forvaltningsmæssigt tilhørsforhold) \n'
    }

if (strTilhoersAmtID != "0" && strTilhoersKommID != "0") {
  strErrorMsg+="      * Du kan ikke vælge BÅDE amt og kommune (under forvaltningsmæssigt tilhørsforhold)  \n";
    }
   
if (strTilhoersAmtID != "0" && strTilhoersPrivat) {
  strErrorMsg+="      * Du kan ikke vælge BÅDE amt og privat (under forvaltningsmæssigt tilhørsforhold)  \n";
    }

if (strTilhoersKommID != "0" && strTilhoersPrivat) {
  strErrorMsg+="      * Du kan ikke vælge BÅDE kommune og privat (under forvaltningsmæssigt tilhørsforhold)  \n";
    }
   
if (strErrorMsg!='') {
  strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg
  alert (strErrorMsg);
  return false;
}

else {
  return true;
}
}
Avatar billede roenving Novice
29. juni 2003 - 02:44 #4
Velbekomme '-)
Avatar billede roenving Novice
30. juni 2003 - 00:42 #5
-- tak for points ;~}
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