04. september 2003 - 11:00Der er
5 kommentarer og 1 løsning
Mindst en checkboks skal være valgt
Når man opretter en adresse i en formular, skal mindst een checkboks være valgt. Jeg har følgende funktion, som nok er noget i retning af det rigtige, men som gør nøjagtig det modsatte! :-) Hvordan skal funktionen ændres, så den opfylder formålet?
function AdresseCheck() {
var strTitle=document.MyForm.AdressTitle.value; var strName=document.MyForm.AdressName.value;
var strErrorMsg=''
if (strName=='') { strErrorMsg+=' * Navn \n' } if (strTitle=='') { strErrorMsg+=' * Titel \n' } for(i=0; i<document.MyForm.AdressCategoryID.length; i++){ if(document.MyForm.AdressCategoryID[i].checked){ strErrorMsg+=' * Vælg kategori \n'; } }
if (strErrorMsg!='') { strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg alert (strErrorMsg); return false; } else { return true; } }
Nu er jeg kommet så langt, at jeg har to funktioner. 1) tjekker for navn og titel 2) tjekker, at kategori er valgt
hvordan samler jeg dem i een funktion?
function AdresseCheck() {
var strTitle=document.MyForm.AdressTitle.value; var strName=document.MyForm.AdressName.value;
var strErrorMsg=''
if (strName=='') { strErrorMsg+=' * Navn \n' } if (strTitle=='') { strErrorMsg+=' * Titel \n' }
if (strErrorMsg!='') { strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg alert (strErrorMsg); return false; } else { return true; } }
function CheckCategory(){ for (x=0; x < document.MyForm.elements.length; x++){ if (document.MyForm.elements[x].name=='AdressCategoryID'){ if (document.MyForm.elements[x].checked){ return true; } } } alert("Adressen skal tilhøre mindst én kategori."); return false; }
function AdresseCheck() { var strTitle=document.MyForm.AdressTitle.value; var strName=document.MyForm.AdressName.value; var strErrorMsg='' if (strName=='') { strErrorMsg+=' * Navn \n' } if (strTitle=='') { strErrorMsg+=' * Titel \n' } if (strErrorMsg!='') { strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg alert (strErrorMsg); return false; } else { if(CheckCategory())return true; } }
Din løsning klarer sagen... Så det er umuligt at samle dem i een funktion, så alerten "Adressen skal tilhøre mindst én kategori." kommer i alert-boks sammen med de andre fejlmeddelelser???? Det ville jo være den mest optimale løsning....
function AdresseCheck() { var strTitle=document.MyForm.AdressTitle.value; var strName=document.MyForm.AdressName.value; var strErrorMsg='' if (strName=='') { strErrorMsg+=' * Navn \n' } if (strTitle=='') { strErrorMsg+=' * Titel \n' } if(!CheckCategory())strErrorMsg+="Adressen skal tilhøre mindst én kategori."; 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.