08. februar 2004 - 17:14Der er
9 kommentarer og 1 løsning
Fordele et antal point mellem forskellige spørgsmål i spørgeskema
Hvor opnår jeg flg. funktionalitet: Et webspørgeskema er inddelt i 5 grupper á 9 spørgsmål. Brugeren skal fordele 10 point mellem spørgsmålene indenfor hver gruppe. Jeg tænker at lave 5x9 array, som indeholder pointene. Men hvordan får jeg selve funktionaliteten med at fordele pointene på den smarteste måde? Jeg forestiller mig, at hver gruppe har sin egen skærmside, så man skal fordele pointene for en gruppe, og så springe videre til næste side. Men maskinen skulle jo gerne holde styr på at man fordeler alle 10 point (noget med at der står en "tæller" for hver gruppe). Så der er to ting i det: 1. Hvordan får jeg sådan en tæller, som reguleres, når der indtastes point til hvert spørgsmål 2. Hvordan får jeg dataene med over, når brugeren skifter mellem html-siderne i spørgeskemaet? Arrayet skal jo bruges til sidst, til at udregne resultatet af testen, og give feedback til brugeren.
Opret fra start et array med de forskellige sider, test ved side- (synligheds-) skift, at de er valide, og vis så den næste sektion, en kort eksemplificering:
Der var åbenbart en kommentar fra mig, som forsvandt. Nå, men jeg synes at din løsning er ganske genial. Tænk, bare at kunne ryste sådan noget ud af ærmet! Jeg har brugt din løsning, og det fungerer perfekt, efter at jeg har brugt en del tid på at taste variabelnavnene ind, og endnu mere på at debugge en irriterende fejl, hvor jeg havde lavet en fejl i netop ét af variabelnavnene.
Et enkelt spørgsmål: Kunne man ikke med fordel have anvendt et array til at gemme svarene i, i stedet for dette hav af individuelt navngivne variabler, og på den måde reduceret arbejdet og fejlrisikoen ved de seperate variabelnavne?
Problemet med arrays er, at javascript ikke genkender dem som arrays, hvis de er skrevet som arrays (dvs. svar[1][1]), og database-scripts genkender dem ikke som arrays, hvis der blot er flere af dem (dvs. svar, svar osv., som html og javascript vil genkende som arrays, dvs. svar[0], svar[1] osv. !-)
Så på den ene eller andet måde kommer man ind i noget tricky noget, for javascript mod noget sådant kan sagtens lade sig gøre, men så er det kodningen, som er hammer-besværlig ...
På baggrund af de svar, som indtastes, beregnes et resultat (det er en personlighedstest), med noget output, som skal vises. Vil du anbefale at vise dette resultat på tilsvarende vis, i en sektion8? Og behøver jeg overhovedet at submit()'e formen, når jeg bare skal bruge indholdet af felterne til videre Javascript-beregninger?
Næh, ikke medmindre du har brug for at sikre, at det virker under alle omstændigheder ...
-- for hvis javascript er slået fra (hvilket det er på en del skoler og biblioteker samt nogle større virksomheder, hvor de ikke kan kende forskel på et gangbræt og en Storebæltsbro med tilhørende tunnel !-), vil der jo ikke ske noget undervejs ...
-- og selvfølgelig: Ja, vis du bare resultatet i en sektion 8, den kan jo vises, når du er færdig med at beregne resultatet og har fyldt det i felter der !-)
Ja, undskyld, jeg havde helt svedt det ud, men opdagede nu, at jeg havde glemt det. Mange tak for hjælpen!
Synes godt om
Ny brugerNybegynder
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.