Tällä hetkellä scripti laskee radio painikkeiden arvot yhteen, mutta kuinka tätä yhteen laskettua lukua voidaan käyttää hyväksi jos haluan tehdä if rakenteella olevia lausekkeita esim.
Yhteen laskettu luku olisi 20
halutaan että kun luku on 0 < 20 välillä avataan sivu1.
Kun taas yhteenlaskettu luku olisi 21 avataan sivu2 jne.
Koodi alla:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Riskilaskin</title> <script language="javascript"> function calc() { var form = document.forms.Riskilaskin; var a = Number( getSelectedValue(form.elements.a) ); var b = Number( getSelectedValue(form.elements.b) ); var c = Number( getSelectedValue(form.elements.c) ); if ( isNaN(a) || isNaN(b) || isNaN(c) ) { document.write("<b>Good morning</b>"); } else { form.elements.Total.value = a + b + c; } } function getSelectedValue(flds) { var i = 0; var len = flds.length; while (i < len) { if (flds[i].checked) { return flds[i].value; } i++; } return ""; } </script> </head> <body> <form name="Riskilaskin"> <label >Henkilöstön määrä: </label> <br /> <input name="a" type="radio" onClick="calc()" id="a_0" value="0" > 1 - 100 <br /> <input name="a" type="radio" onClick="calc()" id="a_1" value="1"> 100 - 500 <br /> <input name="a" type="radio" onClick="calc()" id="a_2" value="2"> 500 - 1000 <br /> <input name="a" type="radio" onClick="calc()" id="a_3" value="3"> 1000 - Yli<br /><br /> <label>Neliöiden määrä: </label> <br /> <input name="b" type="radio" onClick="calc()" id="b_0" value="0"> 1 - 100 m2 <br /> <input name="b" type="radio" onClick="calc()" id="b_1" value="1"> 100 - 500 m2 <br /> <input name="b" type="radio" onClick="calc()" id="b_2" value="2"> 500 - 1000 m2 <br /> <input name="b" type="radio" onClick="calc()" id="b_3" value="3"> 1000 - yli m2<br /><br /> <label>Työskentely alue: </label> <br /> <input name="c" type="radio" onClick="calc()" id="c_0" value="0"> Toimisto <br /> <input name="c" type="radio" onClick="calc()" id="c_1" value="1"> Varasto <br /> <input name="c" type="radio" onClick="calc()" id="c_2" value="2"> Tehdas <br /> <input name="c" type="radio" onClick="calc()" id="c_3" value="3"> Halli <br /><br /> <label>Riskipisteet: </label> <input type="text" name="Total" onClick="calc()" readonly size="10"><br> <br /> <!--<input type="reset" value="Clear"> --> </form> </body> </html>
bellyx kirjoitti:
mutta kuinka tätä yhteen laskettua lukua voidaan käyttää hyväksi jos haluan tehdä
No nythän tuolla on
form.elements.Total.value = a + b + c;
Voit tehdä if-lauseen esim:
if ((a + b + c) > 20) { //tee mitä haluat }
Tai voit laskea luvun muuttujaan ja käyttää sitä
var d = a + b + c if (d > 20) { //tee mitä haluat }
Aihe on jo aika vanha, joten et voi enää vastata siihen.