Avatar billede dulius Nybegynder
01. juni 2008 - 13:22 Der er 1 kommentar og
1 løsning

Validering af multiple select box

Hej,

Jeg har en form med name="manpower" og en multiple select box der hedder line_id[]. Til klientside-validering vil jeg gerne bruge javascript til at checke om der er valgt nogle elementer i select boxen.

Jeg har fundet noget der vist godt kunne virke rundt omkring på nettet, men problemet er, at jeg ikke kan få det til at fungere, når navnet på min select box indeholder [] - dette er dog en nødvendighed, da det er den eneste måde jeg kan sende dataene rigtigt videre til PHP.

Så er der nogen der kan fortælle mig, hvordan jeg får checket om der er selected noget i document.manpower.line_id[]?

På forhånd tak.

Mvh. Julius
Avatar billede dulius Nybegynder
01. juni 2008 - 14:20 #1
Fandt selv løsningen. Gav min select-box en ID, hvorefter jeg fik krejlet følgende funktion til at fungere efter hensigten (man angiver en select boksens id som argument, og så returnerer funktionen true hvis der IKKE er valgt nogle elementer i select boksen og false hvis der er valgt mindst ét element):

function noSelectionsInMultipleSelect(objId) {
var selectObj = document.getElementById(objId);
len = selectObj.length;
i = 0;
for (i = 0; i < len; i++) {
if (selectObj[i].selected) {
return false;
}
}
return true;
}

Og sorry, har fjernet indenteringen, ved ikke lige hvordan eksperten ville håndtere mine mellemrum.
Avatar billede olebole Juniormester
01. juni 2008 - 17:42 #2
<ole>

Du skal bare adressere elementet via formens elements-collection. Så er det ikke noget problem, din name attribut ser sådan ud  ;o)
    var oSelect = document.manpower.elements["line_id[]"];

/mvh
</bole>
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