Anarko wrote:
> Jon Klose Larsen wrote:
>
>> Hej
>>
>> I øjeblikket, så har jeg en asp-side som indeholder en form. I denne
>> form,
>> er der et felt (drop-down) hvis indhold er afhængig af et andet felt
>> (drop-down), og som først vises når en værdi er sat i det første felt.
>>
>> eks. hvis felt A = "numerisk" så indeholder felt B valgene 1,2,3,....
>> og hvis felt A = "alfabetisk" så indeholder felt B valgene a,b,c,.....
>> hvis felt A = "" så vises felt B slet ikke
>>
>> Indholdet i felt B henter jeg i en database.
>>
>> Måden jeg gør det nu, er at jeg "submitter" formen og hvis et valg er
>> gjort
>> i felt A, så trækker jeg data ud til felt B og viser det derefter.
>>
>> Nu vil jeg høre om man kan gøre det samme ved hjælp af et lille
>> clientside
>> script, da det helt sikkert må være hurtigere og tage mindre resourcer
>> fra
>> serveren.
>>
>> Hvis det kan laves, så vil et link eller et lille demo-script gøre mig
>> meget
>> glad.
>>
>> Hilsen
>> Jon
>>
>>
>
> Det er et problemet, at du vil hente valgmulighederne i B fra en
> database, for det kan indlysende set ikke gøres clientside. Du kan vælge
> at hente alle de forskellige muligheder fra databasen før siden vises,
> og så sætte dem ind i et javascript som laver en dynamisk form. Du kan
> få meget mere at vide om dynamiske form'er ved at søge på f.eks.
> "javascript dropdown dynamic form" og kigge på en tilfældig side, som
> f.eks. denne:
http://www.felgall.com/jstip22.htm
En lille tilføjelse...
Du kan også på forhånd laver alle dine selects-B (med databasens indhold
indsat), og så vise og skjule dem ved hjælp af javascript, når der
bliver valgt noget i select-A. Dvs. at når der ikke er valgt noget i A,
er B1, B2, B3 osv. style="display: none;", og når så A vælges, kan du
ved hjælp af den guide i det link, jeg sendte før få skjult de forkerte
og vist den rigtige ved hjælp af:
document.formnavn.selectnavn.style.display = "none"; og
document.formnavn.selectnavn.style.display = "inline"; <-- eller "block"...