26. oktober 2002 - 17:19Der er
4 kommentarer og 1 løsning
select multiple ??
jeg har en select multiple, hvor jeg smide nogle options over i ved hjælp af javascript. mit problem er nu, at jeg ikke kan hente dem med getParameterValue(String), når jeg poster den fordi de ikke er selected af brugen men bare er i listen. En løsning på mit lille, men meget irriterende problem vil blive modtaget med kyshånd!!
kan du ikke lægge alle værdier i et hidden field ? På den måde så vil du stadig have din select multiple, som kun bruges til fremvisning af dine værdier, men dét du egentlig sender over til næste side er værdien til dit hidden field. Værdiene kan du fx skille fra hindanden ved hjælp af komma, havelåge, semikolon eller en anden tegnkombination. På den side som modtager dit formular, hænter du bare værdien fra dit hidden field, og splitter strengværdien på dét tegn du har valgt at separere værdiene med
hvis du skal sænde værdierne over til næste side, så er du nødt til at vælge alle værdier i din selectbox eller gøre det på en tilsvarende måde som skidseret.
du kan jo også smide alle værdier i en session variabel.
mer elegant løsning...hmmm...jeg ser overhodet ikke noget "uelegant" i den måden jeg har skidseret. Jeg ville nok ha valgt at løse opgaven på en *helt* anden måde end det jeg har foreslået her, men med de oplysniger som er givet i denne sammenhæng, ville jeg helt klart sige at løsningsforslaget er helt ok.
Jeg er helt enig - det holder ikke at lave hidden fields - det er grim kode! Jeg ville nok lave noget javascript, som markerer alle felterne inde i selecten.
Sådan nogen i den her retning.... //så sætter du bare onSubmit i din form til "submitform(); return false;"
function submitform() { selectAll(document.forms[0].selectM(); document.forms[0].submit(); } function selectAll(obj) { for (var i = 0; i<obj.length; i++) { obj.options[i].selected=true; } }
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.