22. januar 2004 - 18:03Der er
53 kommentarer og 1 løsning
Lille simpelt regneprg.
Jeg skal bruge et lille simpelt regneprg.
Det skal være sådan at når en bruger taster et tal ind i et "textfield" i en form at man så får et svar som måske siger tallet X (som man har indtastet) er for højt, lavt eller OK. Tallet skal ligge mellem 0-10.
Måske skal det lille prg udvides til at kunne klare hele 3 forskellige indtastninger. Og derefter 3 svar.. Men det vender jeg straks tilbage med. For det skulle være en simpel kopi af linierne i det første prg. :-)
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
<script type="text/javascript"> var tal = 7; function getCharCode(e){ return (e.which)?e.which:e.keyCode; } function checkInput(fld,val){ talkode = tal + 48; if(val<48||val>57){ alert("Du skal skrive et tal !-)") }else{ val = +val; if(val>talkode)alert("Tallet er for stort !-)"); if(val==talkode)alert("Tallet er helt rigtigt !-)"); if(val<talkode)alert("Tallet er for lille !-)"); } fld.focus(); } </script>
Meen der er noget jeg gerne vil have anderledes. :-)
1. Det skal være sådan at jeg selv fatter at rette i det. Altså et eller andet med at jeg kan se at ved den talværdi skal den svare det. Mere hvis jeg pludselig skal ændre eksemplet til at kunne give 5 forskellige svar alt afhænigt af indtastning. :-)
2. En anden ting der virker lidt irreterende er at det er den der "pop-up" svar løsning. Kan man ikke give svaret på en ny html side? :-)
I princippet kan man sagtens lave en ny side og skrive det ind i den, men det lyder som overkill !-)
-- og det var selvfølgelig også som eksempel, jeg bare lavede alerts ...
Her har jeg en version, som også virker med tal-tastaturet:
<script type="text/javascript"> var tal = 7; function getCharCode(e){ return (e.which)?e.which:e.keyCode; } function checkInput(fld,val){ talkode = tal + ((val<106&&val>95)?96:48); alert(val+" "+talkode); if(val<48||val>105||(val<96&&val>57)){ alert("Du skal skrive et tal !-)") }else{ if(val>talkode)alert("Tallet er for stort !-)"); if(val==talkode)alert("Tallet er helt rigtigt !-)"); if(val<talkode)alert("Tallet er for lille !-)"); } fld.focus(); } </script>
-- øverst ligger linjen var tal = 7; den kan du ændre til det tal, du vil bruge ...
-- og hvis du vil teste for flere tal kan du gøre sådan:
<script type="text/javascript"> var tal1 = 3; var tal2 = 5; var tal3 = 6; var tal4 = 7; var tal5 = 9; function getCharCode(e){ return (e.which)?e.which:e.keyCode; } function checkInput(fld,val){ talkode1 = tal1 + ((val<106&&val>95)?96:48); talkode2 = tal2 + ((val<106&&val>95)?96:48); talkode3 = tal3 + ((val<106&&val>95)?96:48); talkode4 = tal4 + ((val<106&&val>95)?96:48); talkode5 = tal5 + ((val<106&&val>95)?96:48); alert(talkode1+" "+talkode2+" "+talkode3+" "+talkode4+" "+talkode5+" "+val); if(val<48||val>105||(val<96&&val>57)){ alert("Du skal skrive et tal !-)") }else{ if(val<talkode1)alert("Tallet er meget for lille !-)"); else if(val>talkode5)alert("Tallet er meget for stort !-)"); else if(val<=talkode2)alert("Tallet er for lille !-)"); else if(val>=talkode4)alert("Tallet er for stort !-)"); else if(val==talkode3)alert("Tallet er helt rigtigt !-)"); } fld.focus(); } </script>
Jeg lavede ikke lige et nyt script, men gav bare et eksempel, så din forvirring er forståelig !-)
Men hvis jeg skulle reagere på, at folk indtastede f.eks. en hårdhedsgrad i et felt, ville jeg have 3-5 sider med info om mulige problemer og fordele ved den slags hårdhed ...
F.eks. at det vil være meget svært at opdrætte fisk fra sortvandsfloder, når hårdheden er over 3 dgh ...
-- eller at det vil være umuligt at få piranhaer til at yngle ved en pH-værdi på over ca. 6,3 !-)
-- så ideen i feltet bør være, at der skrives, og så aktiverer brygeren selv en check-mekanisme f.eks. vha. en knap:
<form> Hårdhed (dgh): <input type="text" name="hardhed"><br> pH-værdi: <input type="text" name="ph"><br> <input type="button" value="Vis info om vandværdier" onclick="visInfo(this.form)"> </form>
Det er jo bare alletiders det du har fået lavet. :-)
Har tænkt på noget...
Hvordan får jeg prg til at svare hvis nogen er så tåbelige og taste fra 0-3?
En anden ting jeg også lige tænkte på. Hvordan skal prg reagere hvis man både indtaster en vandhårdhed og en pH-værdi?
Havde tænkt på at det ville jo være genialt hvis man havde mulighed for at taste enkelte men også alle værdier, og prg skal svare ud fra det? Hvordan gør man lige det?
Fejlindtastninger må du si fra (validere !-) og så nægte at modtage det ...
Laver en side, som er dynamisk ...
Det er jo nemmest med et server-side scripting-sprog som php eller asp, men kan også laves i (d)html, altså en kombination af html, javascript og css.
Hvis du nu laver eet langt dokument, med alle forskelllige oplysninger i hver sin layer, som så alle sættes til at være skjulte fra start, og så gør sådan noget som:
<script type="text/javascript"> function valider(f){ var t = parseInt(f.temperatur.value,10); if(t=='NaN'||t>50||t<0){ alert('Du har angivet en ugyldig temperatur\nKun relevante temperaturer mellem 0° og 50° accepteres'); f.temperatur.select(); f.temperatur.focus(); return false; } t = parseInt(f.ph.value,10); if(t=='NaN'||t>14||t<0){ alert('Du har angivet en ugyldig pH-værdi\nKun værdier mellem 0 og 14 accepteres'); f.ph.select(); f.ph.focus(); return false; } t = parseInt(f.thard.value,10); if(t=='NaN'||t>30||t<0){ alert('Du har angivet en ugyldig Totalhårdhed\nKun relevante værdier mellem 0 og 30 accepteres'); f.thard.select(); f.thard.focus(); return false; } t = parseInt(f.khard.value,10); if(t=='NaN'||t>50||t<0){ alert('Du har angivet en ugyldig Kalkhårdhed\nKun relevante værdier mellem 0 og 30 accepteres'); f.khard.select(); f.khard.focus(); return false; } return true; } </script>
Det skulle afsende en url på formen: resultatside.html?temperatur=26&ph=8.3&thard=13&khard=9
Den kan du så tage fat i i resultatsiden onload:
<script type="text/javascript"> function visDivs(){ var s = location.search; if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning .substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5; //osv. med alle muligheder } } } </script>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
<script type="text/javascript"> function valider(f){ var t = parseInt(f.temperatur.value,10); if(t=='NaN'||t>50||t<0){ alert('Du har angivet en ugyldig temperatur\nKun relevante temperaturer mellem 0° og 50° accepteres'); f.temperatur.select(); f.temperatur.focus(); return false; } t = parseInt(f.ph.value,10); if(t=='NaN'||t>14||t<0){ alert('Du har angivet en ugyldig pH-værdi\nKun værdier mellem 0 og 14 accepteres'); f.ph.select(); f.ph.focus(); return false; } t = parseInt(f.thard.value,10); if(t=='NaN'||t>30||t<0){ alert('Du har angivet en ugyldig Totalhårdhed\nKun relevante værdier mellem 0 og 30 accepteres'); f.thard.select(); f.thard.focus(); return false; } t = parseInt(f.khard.value,10); if(t=='NaN'||t>50||t<0){ alert('Du har angivet en ugyldig Kalkhårdhed\nKun relevante værdier mellem 0 og 30 accepteres'); f.khard.select(); f.khard.focus(); return false; } return true; } </script>
OG Altså resultatsiden.html indeholder.:
<script type="text/javascript"> function visDivs(){ var s = location.search; if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning .substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5; //osv. med alle muligheder } } } </script>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
OG SELVFØLGELIG Altså dinIndtastningsSide.html indeholder.:
<script type="text/javascript"> function visDivs(){ var s = location.search; if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning .substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5; //osv. med alle muligheder } } } </script>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
Det lyder umiddelbart som om, du har byttet rundt på dem, for indtastningssiden skal selvfølgelig ikke vise tilbage til sig selv, hvis den ved en fejl er blevet kaldt !-)
-- at køre et serverside sprog er ikke nogen bagdel, men uden for mit erfaringsområde ...
-- umiddelbart vil det gøre opgaven lettere, at du kan vise/skjule ved hjælp af f.eks. asp, men som jeg viser det, er den store forskel hvor mange data, der skal overføres til klienten ...
Resultatside:
<script type="text/javascript"> function visDivs(){
...
Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
Vender lige tilbage om et par dage igen. Har en hulens masse projekter til skolen jeg lige skal have styr på. Så jeg er hurtigst mulig tilbage igen og eller i løbet at weekenden.
Så skal du på resultatside.html bruge parameter-parseren til at vise de sektioner, som svarer til:
<script type="text/javascript"> function visDivs(){ var s = location.search; if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1;//*********** document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5;
//osv. med alle muligheder
} } } </script>
-- og så have dine divs (id="tempDiv1", id="tempDiv2" osv.)
-- i tempDiv1 skal du så have noget info om temperaturer mellem 0° og 15° (jvf. **** ovenfor !-)
skal de forskellige svar oprettes som små txt filer eller hvordan vil du kalde dem frem? Er villig til at betale de point du vil have for en rimelig færdig løsning da jeg ikke fatter ret meget af dette her.? Jeg har 313 point på kontoen så gi et bud?
er det, dette du tænker på.: Hvis jeg indtaster kun en temp får jeg ikke noget svar?
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
Jeg er villig til at give dig 150 point for en færdig løsning, nu du også ved en masse om akvariehobbyen. :-) Er det er projekt du har lyst til for de point? :-)
<script type="text/javascript"> function visDivs(){ var s = location.search; if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1;//*********** SKAL JEG HER SÆTTE EN TEKST ELLER DIV? document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5;
//osv. med alle muligheder
} } } </script>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
//************* ER IKKE HELT MED PÅ DENNE HER? :-)
-- jeg har sat nogle dummy-tekster ind, de skal jo selvfølgelig rettes, ligesom jeg ikke har slået relevante intervaller op, så dem skal du også kontrollere og rette ...
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/455538"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function visDivs(){ var s = unescape(location.search); if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": var t = parseInt(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": var t = parseInt(s[i][1],10),d; if(t>=11)d=5; if(t<11&&t>=9)d=4; if(t<9&&t>=7.8)d=3; if(t<7.8&&t>=6.5)d=2; if(t<6.5&&t>=5.5)d=1; if(5.5>t)d=0; document.getElementById("phDiv"+d).style.display="block"; break; case "hard": var t = parseInt(s[i][1],10),d; if(t>=12)d=3; if(t<12&&t>=4)d=2; if(4>t)d=1; document.getElementById("hardDiv"+d).style.display="block"; break; case "khard": var t = parseInt(s[i][1],10),d; if(t>=12)d=3; if(t<12&&t>=4)d=2; if(4>t)d=1; document.getElementById("khardDiv"+d).style.display="block"; break;
} } } </script> </head>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;"> Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv3" style="display:none;"> Vandtemperaturer under 27°, men 23° og derover: Almindeligt tempereret akvarievand </div> <div id="tempDiv4" style="display:none;"> Vandtemperaturer under 32°, men 27° og derover: Varmt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
<div id="phDiv0" style="display:none;"> pH-værdi er under 5.5 </div> <div id="phDiv1" style="display:none;"> pH-værdi er 5.5 eller højere men under 6.5 </div> <div id="phDiv2" style="display:none;"> pH-værdi er 6.5 eller højere men under 7.8 </div> <div id="phDiv3" style="display:none;"> pH-værdi er 7.8 eller højere men under 9 </div> <div id="phDiv4" style="display:none;"> pH-værdi er 9 eller højere men under 11 </div> <div id="phDiv5" style="display:none;"> pH-værdi er over 11 </div>
<div id="hardDiv1" style="display:none;"> Total-hårdheden er over 12, vi har hårdt vand </div> <div id="hardDiv2" style="display:none;"> Total-hårdheden er 4 eller derover men under 12, vi har gennemsnitligt vand </div> <div id="hardDiv3" style="display:none;"> Total-hårdheden er under 4, det er blødt vand </div>
<div id="hardDiv1" style="display:none;"> Kalk-hårdheden er over 12, vi har kalkhårdt vand </div> <div id="hardDiv2" style="display:none;"> Kalk-hårdheden er 4 eller derover men under 12, vi har normalt kalkhårdt vand </div> <div id="hardDiv3" style="display:none;"> Kalk-hårdheden er under 4, det er blødt vand med lavt kalkindhold </div> </body> </html>
Jeg har prøvet at rode med dit eksempel sideløbende med alle mulige andre projekter. Er der en fejl eller er det meningen at jeg skal have svar på f.eks. pH-værdi selv om jeg overhovedet ikke har intastet noget om det? undre mig også over hvorfor jeg ikke får et svar når jeg taster kalk-hårdhed ind? :-)
Er der fejl i eksempel eller er det mig der ikke helt forstår hvordan det virker. !-)
Vil du ikke lige kigge på det her bare een gang mere. Tror der er fejl i som gør at det ikke virker helt optimalt. Jeg kan desværre ikke få det at fungere helt som jeg havde forstillet mig. eller skal vi droppe det helt og afgive nogle point for det du har lavet? :-)
Hov, felt-navnet er også thard, så case-sætningen skal jo bruge den og ikke 'hard'
case "thard":
-- og til test kan du prøve at indsætte en alert lige før switch-sætningen, for du har da ret i, at det er underligt, at kalkhårdheden ikke kommer med:
Ja, jeg fik lige testet grundigere igennem, det er en simpel fejl i rækkefølgen af divs, men her er en rettet udgave af scriptet, som kører uden problemer hos mig !-)
<script type="text/javascript"> function visDivs(){ var s = '?temperatur=27&ph=6.6&thard=10&khard=25';//unescape(location.search); if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=11)d=5; if(t<11&&t>=9)d=4; if(t<9&&t>=7.8)d=3; if(t<7.8&&t>=6.5)d=2; if(t<6.5&&t>=5.5)d=1; if(5.5>t)d=0; document.getElementById("phDiv"+d).style.display="block"; break; case "thard": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=12)d=1; if(t<12&&t>=4)d=2; if(4>t)d=3; document.getElementById("hardDiv"+d).style.display="block"; break; case "khard": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=12)d=1; if(t<12&&t>=4)d=2; if(4>t)d=3; document.getElementById("khardDiv"+d).style.display="block"; break; } } } </script>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/455538"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function visDivs(){ var s = unescape(location.search); if(2>s.length)location.href="dinIndtastningsSide.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t<23&&t>=15)d=2; if(t<15&&t>=0)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; case "ph": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=11)d=5; if(t<11&&t>=9)d=4; if(t<9&&t>=7.8)d=3; if(t<7.8&&t>=6.5)d=2; if(t<6.5&&t>=5.5)d=1; if(5.5>t)d=0; document.getElementById("phDiv"+d).style.display="block"; break; case "thard": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=12)d=1; if(t<12&&t>=4)d=2; if(4>t)d=3; document.getElementById("thardDiv"+d).style.display="block"; break; case "khard": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=12)d=1; if(t<12&&t>=4)d=2; if(4>t)d=3; document.getElementById("khardDiv"+d).style.display="block"; break; } } } </script> </head>
<body onload="visDivs()">
<div id="tempDiv1" style="display:none;">
Vandtemperaturer under 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv2" style="display:none;"> Vandtemperaturer under 23°, men over 15°: Koldt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div> <div id="tempDiv3" style="display:none;"> Vandtemperaturer under 27°, men 23° og derover: Almindeligt tempereret akvarievand </div> <div id="tempDiv4" style="display:none;"> Vandtemperaturer under 32°, men 27° og derover: Varmt vand er en helt speciel disciplin indenfor akvariehobbyen ... </div>
<div id="phDiv0" style="display:none;"> pH-værdi er under 5.5 </div> <div id="phDiv1" style="display:none;"> pH-værdi er 5.5 eller højere men under 6.5
</div> <div id="phDiv2" style="display:none;"> pH-værdi er 6.5 eller højere men under 7.8 </div> <div id="phDiv3" style="display:none;"> pH-værdi er 7.8 eller højere men under 9 </div> <div id="phDiv4" style="display:none;"> pH-værdi er 9 eller højere men under 11 </div> <div id="phDiv5" style="display:none;"> pH-værdi er over 11 </div>
<div id="thardDiv1" style="display:none;"> Total-hårdheden er over 12, vi har hårdt vand </div>
<div id="thardDiv2" style="display:none;"> Total-hårdheden er 4 eller derover men under 12, vi har gennemsnitligt vand </div> <div id="thardDiv3" style="display:none;"> Total-hårdheden er under 4, det er blødt vand </div>
<div id="khardDiv1" style="display:none;"> Kalk-hårdheden er over 12, vi har kalkhårdt vand </div> <div id="khardDiv2" style="display:none;"> Kalk-hårdheden er 4 eller derover men under 12, vi har normalt kalkhårdt vand </div> <div id="khardDiv3" style="display:none;"> Kalk-hårdheden er under 4, det er blødt vand med lavt kalkindhold </div> </body>
Nu håber jeg at alle fejl er rettet så du slipper for mig for en stund. :-) Men håber nu at det er okay at spørge igen hvis jeg støder ind i et problem selv om jeg giver dig dine point. :-)
Men det regner jeg ikke med er noget problem med dig.
Hej Roenving! Har du lige mulighed for at hjælpe mig med en lille detalje?
<script type="text/javascript"> function visDivs(){ var s = unescape(location.search); if(2>s.length)location.href="sydcichlider.html"//retur til indtastning s = s.substring(1); s = s.split("&"); for(i=0;s.length>i;i++){ s[i] = s[i].split("="); switch(s[i][0]){ case "temperatur": if(s[i][1].length==0)break; var t = parseFloat(s[i][1],10),d; if(t>=32)d=5; if(t<32&&t>=27)d=4; if(t<27&&t>=23)d=3; if(t=23&&t>)d=2; if(t=15&&t>)d=1; document.getElementById("tempDiv"+d).style.display="block"; break; } } } </script>
Jeg vil godt lige vide hvordan jeg opstiller eks.:
if(t<27&&t>=23)d=3;
Altså hvis nu at jeg taster 23 ind så skal jeg få et svar kun på det. Altså så det ikke bliver et svar som ligger mellem 23 0g 27..
Har prøvet.: if(t=23)d=3; if(t=22)d=2; osv men det vil den ikke...
Javascript bruger dobbelte lighedstegn til sammenligning:
if(t==23)d=3;
-- 10 i parseInt er den slags tal den skal finde, 10 er almindelige tal, men der kunne også være tale om binære tal (2) eller f.eks. hexadecimale (16 !-)
OK tak for det, nu kan jeg komme videre. Ved godt at det har taget lang tid men er begyndt at forstå hvad der sker. :-)
Kommer lige med et eksempel mere senere da jeg har nogle problemer med komma tal.
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.