28. juni 2003 - 10:42Der 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; }
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*)
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; }
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.