Avatar billede slejpnir Nybegynder
23. april 2003 - 18:57 Der er 15 kommentarer og
2 løsninger

Case eller if...

Kan man anvende koderne case eller if til at
behandle oplysniner man får fra en bruger?
fx i en sådan liste
<Center><Form>
<select onchange="location=this.options[this.selectedIndex].value;">
Der er tale om ren HTML.
Avatar billede olebole Juniormester
23. april 2003 - 19:12 #1
<ole>

Hvad vil du lave?

/mvh
</bole>
Avatar billede =maddog= Nybegynder
23. april 2003 - 19:56 #2
case kræver at der behandles en int - altså et heltal - eller et eller andet der let kan omformes til en int (f.x. en char).
if kan også sammenligne strenge og andre objekter.
Avatar billede olebole Juniormester
23. april 2003 - 21:25 #3
=maddog= >> Når I taler om 'case', går jeg udfra, I mener en switch - og sådan én kan både sammenligne tal og strenge:

<script type="text/JavaScript">
function testSwitch(variabel) {
    switch(variabel) {
        case "bla":
            alert("Variablen har værdien 'bla'");
        break;
       
        case "hej":
            alert("Variablen har værdien 'hej'");
        break;
       
        case 123:
            alert("Variablen har værdien '123'");
        break;
       
        default:
            alert("Variablen har hverken værdien 'hej', 'bla' eller '123'");
    }
}
testSwitch("bla");
testSwitch("hej");
testSwitch("davs du");
testSwitch(123);
</script>

/mvh
Avatar billede =maddog= Nybegynder
23. april 2003 - 22:08 #4
hmm. ikke normalt for switch/case blokke, men på den anden side - javascript er mærkværdigt på alle andre punkter så hvorfor ikke også dette.
Avatar billede slejpnir Nybegynder
23. april 2003 - 23:10 #5
Jeg var nødt til at tage væk. Undskyld. Jeg kunne tænke mig at bede brugen om en fødselsdato "dd-mm" og på grundlag heraf åbne en ny side på hjemmesiden. De 15 point var blot for et ja-nej spørgsmål.
Jeg skal nok forhøje pointtallet til fx 60 hvis jeg kan få en kode der siger: Indtast din fødselsdato: "dd-mm" og så if "svar" er fra
1-1 til 31-1 så link til side x. Hvis 1-2 til 29-2 så link til side xx.
Kan man det? Er 60 point godt nok?
Avatar billede olebole Juniormester
24. april 2003 - 01:06 #6
=maddog= >> Hehe ..... Pudsig, men meget tidstypsik holdning, at alt, hvad man ikke lige selv er vandt til, er 'mærkværdigt' og 'unormalt'  :)

PHP, VB, VBScript, JavaScript, JScript og JSP er nu noget 'mærkværdigt' og 'unormalt' noget  :D
/mvh
Avatar billede =maddog= Nybegynder
24. april 2003 - 01:20 #7
Det kan du have ret i OleBole. Jeg kan nu bedst lide at sammenligne det med min grandonkels Morris 1000. Han havde i mange år en Morris 900, og den havde en 3-gears transmission. På et tidspunkt kørte en anden person i 1000'eren og skiftede til 4 gear til hans store overraskelse. Moralen:
Man tager udgangspunkt i det man kender.
Man forventer at ting der ligner hinanden opfører sig identisk.
Så jeg må vel være onklen der udbryder "hov, hvad pokker"

PS:
Jeg er ikke så stiv i JSP heller, men mener switch variablen skal være på en veldefineret form og ikke kan skifte mellem tal og objekter som i det forrige eksempel.
Avatar billede olebole Juniormester
24. april 2003 - 02:58 #8
Uhhhhhhh ........ Morris 900, 1000 og Minor. Det minder mig jo om min barndom. Skønne øser!  :o)
Men han har zq da ladet motoren få drejet sig nogle omgange, den gode onkel *LooooL*

Og du har ganske ret ... vi er frygtelig konservative skabninger. Så længe det blot handler om variabel-typer betyder det heldigvis ikke så meget  ;o)

PS: Jeg er garanteret mere slatten end du i JSP, men så fornylig et script med strenge i en switch - udelukkende derfor kom det med i min opremsning.
At du så uden tvivl har ret angående manglende mulighed for skift mellem variabel-typer er en hel anden ting. Java er betydelig mere strict desangående ... det er jo et 'rigtig' sprog  ;o)
/mvh
Avatar billede Slettet bruger
24. april 2003 - 21:32 #9
slejpnir>> Det nemmeste er, hvis du navngiver dine filer efter fødselsdagen. Fx "2412.html" og "2404.htm". Så kan du bruge dette script:

<select onChange="if (this.selectedIndex != 0) self.location.href = this.options[this.selectedIndex].value;">
<option>Vælg en fødselsdag:</option>
<option value="0101">01/01</option>
<option value="0201">02/01</option>
<option value="0301">03/01</option>
...
<option value="3112">31/12</option>
</select>
Avatar billede olebole Juniormester
24. april 2003 - 21:51 #10
I så fald ville det være en rigtig god idé at skrive:

<select onChange="if (this.selectedIndex != 0) self.location.href = this.options[this.selectedIndex].value+'.html';">

så vil det nemlig kunne virke  :)
/mvh
Avatar billede slejpnir Nybegynder
25. april 2003 - 00:46 #11
Hej, phoenixy,
koden virker når jeg lige laver oleboles tilføjelse.
Jeg forstår din kode således, at det er nødvendigt at lave 365 eller 366 options hvis jeg skal kunne fange alle? Er det korrekt?
Og så d'herrer hvad med at give nogle "svar" så jeg kan honorere jeres hjælp???
Gud, hvor er jeg glad for at jeg ikke skal leve af at være programmør!
I er ski.. dygtige alle sammen!!
Avatar billede olebole Juniormester
25. april 2003 - 01:28 #12
Jamen, vi er, hvad vi er, fordi det er squide sjovt  :)
Alt efter alder legede de fleste af os med Lego, Mecano, Bilo-fix, Brio-fix eller hvad maski-mekanisk byg-din-egen-maskine-legetøj nu har heddet gennem tiderne. Det, vi laver nu, er ikke så forskelligt fra, hvad vi legede dengang ... og de grundlæggende motiver nok heller ikke  ;o)

En måde, du kan løse dit problem på, kunne være:

<script type="text/JavaScript">
function openPage(f) {
    if (f.dag.selectedIndex>0 && f.md.selectedIndex>0) {
        var dd = f.dag.options[f.dag.selectedIndex].value;
        var md = f.md.options[f.md.selectedIndex].value;
        location.href = dd + md + ".html";
    }
}
</script>

<form>
<select name="dag" onchange="openPage(this.form)">
    <option>Dag</option>
    <option value="01">01</option>
    <option value="02">02</option>
    <option value="03">03</option>
</select>
&nbsp;
<select name="md" onchange="openPage(this.form)">
    <option>Md</option>
    <option value="01">Jan</option>
    <option value="02">Feb</option>
    <option value="03">Mar</option>
</select>
</form>

/mvh
Avatar billede Slettet bruger
25. april 2003 - 15:05 #13
Synes godt om oleboles sidste eksempel. Dog ville jeg bruge en submit-knap til at sende videre med!
Bare lad olebole få pointene.
Avatar billede slejpnir Nybegynder
25. april 2003 - 16:11 #14
Mange tak for hjælpen. Det ser fint ud og nu har jeg jo nogle valgmuligheder.
Men I kommenterer jo kun. Jeg kan ikke komme til at give jer point.
Vær lige så venlige begge to at skrive: svar! Please!!!:o))
Avatar billede olebole Juniormester
25. april 2003 - 16:31 #15
swaaaaar  ;o)
Avatar billede Slettet bruger
25. april 2003 - 16:32 #16
Svar så. Når du nu tvinger mig! :)
Avatar billede slejpnir Nybegynder
25. april 2003 - 18:36 #17
Takker! ;o)
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