Avatar billede pblv Nybegynder
11. august 2005 - 19:00 Der er 13 kommentarer og
1 løsning

Kun vise de udvalgte via form

Hejsa,

Jeg søger hjælp til at lave to sider. En side der har nogle tjekbokse hvor man kan vælge 4 elementer.
Når man har valgt dem, skal man trykke ok.

Så ryger man videre til næste side, der har indhold á la:

<div id="1">Se 1</div>
<div id="2">Se 2</div>
<div id="3">Se 3</div>
<div id="4">Se 4</div>

Alt efter hvad folk har valgt i formen på forrige side, er det det der skal vises.
Hvis folk via første side i tjekbokse har valgt at de vil se 2 og 4, skal 1 og 3 skjules.

Kan nogen komme med noget kodehjælp, så jeg kan få det til at fungere? Jeg bruger JavaScriptet i asp, hvis det kan hjælpe.
Avatar billede roenving Novice
11. august 2005 - 19:09 #1
Jamen runder du så ikke serveren mellem de to dokumenter ?-)

-- det er selvfølgelig ikke nødvendigt, hvis du alligevel ikke skal gemme brugerens valg væk, men det lyder klart nemmest, hvis man alligevel skal hente et nyt dokument !-)

-- selv ville jeg nok simpelthen vælge at have hele flokken på samme side, og så vise eller skjule elementerne efterhånden som checkboksene blev klikket !o]

PS. Et id, som starter med et ciffer er ugyldigt, så det skal du selvfølgelig passe på (og i javascript er det simpelthen årsag til fejl i koden !-)
Avatar billede pblv Nybegynder
11. august 2005 - 19:25 #2
Hejsa,

Jo, men teksten i div'erne kan ændre sig, da siden skal stå og opdatere sig selv. Derfor skal brugernes valg gemmes, så de ikke skal vælge igen hver gang siden refresher.
Avatar billede roenving Novice
11. august 2005 - 19:32 #3
Tjah, enten kalder du siden med get-variabler, som aflæses onload og viser/skjuler eller også skal du en tur i kagebageriet !-)
Avatar billede pblv Nybegynder
11. august 2005 - 19:33 #4
det er præcis enten delen jeg gerne vil have hjælp til med et eksempel!
Avatar billede roenving Novice
11. august 2005 - 19:37 #5
Reloader du hele siden med jævne mellemrum ?-)
Avatar billede pblv Nybegynder
11. august 2005 - 19:41 #6
Yeps. fordi indholdet i div'erne (nogle vækselkurser) ændrer sig. databasen kan ikke holde til hvis alle bruger skal gå i databasen og udvælge de kurser de vil se, derfor vil jeg løse det på denne måde. så jeg skriver en fil der har alle kurser, men folk kun ser dem de har udvalgt
Avatar billede roenving Novice
11. august 2005 - 19:42 #7
Men det er nu ikke svært at aflæse get-variabler:

<script type="text/javascript">
window.onload = function(){
  if(location.search){
    var q = location.search.substring(1).split("&"),ret=new Array();
    for(i=0;q.length>i;i++){
      q[i] = q[i].split("=");
      ret[q[i][0]] = q[i][1];
    }
  //nu har du værdien af alle get-variabler, som ret[name] = value !-)
  //og så kan du jo sætte display:none og block på de forskellige divs
  }
}
</script>
Avatar billede pblv Nybegynder
11. august 2005 - 19:47 #8
Super! Kan du også komme med et eksempel på hvordan løkken kan blocke de div'er som er udvalgt?
Avatar billede pblv Nybegynder
11. august 2005 - 19:48 #9
Evt fikse løkken, så den i stedet for at ligge ret[q[i][0]] = q[i][1]; ændrer div til block?
Avatar billede pblv Nybegynder
11. august 2005 - 20:08 #10
Tror sgu jeg løste det:

<script type="text/javascript">
window.onload = function()
{
    if(location.search)
    {
        var q = location.search.substring(1).split("&"),ret=new Array();
        for(i=0;q.length>i;i++)
        {
            q[i] = q[i].split("=");
            document.getElementById( q[i][1] ).style.display = 'block';
        }
    }
}
</script>
Avatar billede roenving Novice
11. august 2005 - 22:36 #11
Jeg var usikker på, om ikke afkrydsede checkboxe kom med som en tom get-variabel, for det kan jeg ikke selv teste uden en server (Hrm, kan jeg ikke det ?-)

-- men vhis divernes id stemmer overens med de afkrydsede checkboxes og de ikke afkrydsede ikke kommer med, så ser det helt rigtigt ud !-)

-- du har forhåbentligt taget mit p.s. i min første kommentar alvorligt, så det ikke kun dur i IE !o]
Avatar billede pblv Nybegynder
11. august 2005 - 22:54 #12
Jo bestemt! De hedder nu ikke kun navne. Du fortjæner lidt point for hjælpen med at hente variablerne, så smid et svar!

Men den kode jeg har postet, den burde virke ikke alle browsere ikke?
Avatar billede roenving Novice
11. august 2005 - 23:09 #13
Jeg kender ikke nogen browsere, som ikke forstår den ovenstående konstruktion, nåh, jaeh, tjah, anonyme funktioner er vist js1.2, så det er kun alle nutidige browsere (altså dem fra dette årtusind !-), du kan være sikker på !o]

Velbekomme '-)
Avatar billede roenving Novice
12. august 2005 - 12:32 #14
-- og tak for point ;~}
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