Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Javascript - Yhteenlasketun luvun hyödyntäminen

bellyx [30.08.2009 01:36:25]

#

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>

Grez [30.08.2009 10:11:57]

#

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
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta