Rekentool geeft geen uitslag

Status
Niet open voor verdere reacties.

Tkoenders

Gebruiker
Lid geworden
20 nov 2013
Berichten
6
Hi allen, zie mijn script.

Ik zie even niet meer waar het fout gaat. Help ?

HTML:
<!DOCTYPE html>
<html>
<body>
<div style="color: black; border:5pt outset #66CCFF; background-color: #27A6D1">
<h2><u><center>Hoogte en duur WW berekenen</center></u></h2>
<noscript>
  <b>Let op: Momenteel is Javascript niet geactiveerd in uw browser. De onderstaande berekenaar maakt gebruik van Javascript en zal niet functioneren.</b>
</noscript>
<html>
<head>
<script language= "JavaScript">

        function rekenen1(){
		var a = parseInt(document.getElementById("a").value);
                            var b = parseInt(document.getElementById("b").value);
		var c = document.getElementById("c").value;
		var d = parseInt(document.getElementById("d").value);
                            var e = (1998 - a) - 18;
		var f = parseInt(document.getElementById("f").value);
                            var uitkomst4 = (e + f) * d;
		var uitkomst1 = (b / 100) * 75;
		var uitkomst2 = (uitkomst1 / 75) * 70);
		var uitkomst3 = c + uitkomst4;
                   

	document.getElementById("uit").innerHTML = "<b> Hoogte WW eerste twee maanden:<br> € </b> " + uitkomst1;
	document.getElementById("uit2").innerHTML = "<b> Hoogte WW resterende maanden:<br> € </b> " + uitkomst2;
	document.getElementById("uit3").innerHTML = "<b> Duur WW in maanden: <br> </b> " + uitkomst3;
        
                            }
    <!--

    //-->
    </script>
</head>
<body>
<form name='rekenen'>
<div><label> Geboortejaar:</label></div>
<div><input type='text' name='a' ID='a'></div>
<div><label> SV-Loon:</label></div>
<div><input type='text' name='b' ID='b'></div>
<div><label> Wekeneis: </div>
<div><select ID='c'>
<option value="1">Ja</option>
<option value="0">Nee</option>
</select></div>
<div><label> Jareneis: </div>
<div><select ID='d'>
<option value="1">Ja</option>
<option value="0">Nee</option>
</select></div>
<div><label> Feitelijk arbeidsverleden:</label></div>
<div><input type='tekst' name='f' ID='f'></div>
<div><label ID='uit'><b> hoogte WW eerste twee maanden:</b></label></div>
<br></br>
<div><label ID='uit2'><b> hoogte WW resterende maanden:</b></label></div>
<br></br>
<div><label ID='uit3'><b> duur in maanden:</b></label></div>
<br></br>
<div>
</div>
<div>
</div>
<input type='button' name='uitrekenen' onclick="rekenen1()" value='Berekenen'>
<br></br>
</div> 
</form>
 
</body>
</html>
 
Laatst bewerkt:
Ik vraag mezelf af waarom je al die labels gebruikt, volgens mij totaal overbodig.

Begin eens om het volgende aan te passen:

Code:
<div id='uit'><b> hoogte WW eerste twee maanden:</b></div>
<br></br>
<div id='uit2'><b> hoogte WW resterende maanden:</b></div>
<br></br>
<div id='uit3'><b> duur in maanden:</b></div>

kijk ook eens wat er gebeurd wanneer een invoer niet om te zetten is in een integer, grote kans dat dan alles mis loopt. Je invoer krijgt dan de waarde NAN.
Wanneer iemand 23879,35 in voert bij SV-loon dan zal je script stoppen bij de a=parseInt omdat parseInt niet met de komma overweg kan en een NAN terug geven ivm een ongeldige waarde ipv dat je 23879 terugkrijgt zoals je zou verwachten.
 
Hallo,

Bedankt voor je reactie. Ik heb je aanpassingen doorgevoerd, maar helaas nog steeds geen uitkomst.

Ik ben nog niet zo lang bezig met javascript en heb weinig ervaring.

deze tool heb ik wel al werkend gekregen door veel te lezen en proberen.


ik zie niet waarom mijn tweede berekening niet wil werken in vergelijking met deze.

HTML:
<!DOCTYPE html>
<html>
<body>
<div style="color: black; border:5pt outset #66CCFF; background-color: #27A6D1">
<h2><u><center>Ontslagvergoeding berekenen</center></u></h2>
<noscript>
  <b>Let op: Momenteel is Javascript niet geactiveerd in uw browser. De onderstaande berekenaar maakt gebruik van Javascript en zal niet functioneren.</b>
</noscript>
<html>
<head>
<script language= "JavaScript">

        function rekenen1(){
            var d = 0;
            var a = parseInt(document.getElementById("a").value);
            var b = parseInt(document.getElementById("b").value);
            var c = parseInt(document.getElementById("c").value);
            if (a<35)
   {
    d=0.5;
   }
else if (a<45)
   {
    d=1;
   }
else if (a<55)
   {
    d=1.5;
   }
else
   {
    d=2;
   }
		            var uitkomst1 = b * d * c;
        document.getElementById("uit").innerHTML = "<b> Ontslagvergoeding:<br> € </b> " + uitkomst1;

}
    <!--

    //-->
    </script>
</head>
<body>
<form name='rekenen'>
<div><label> Leeftijd:</label></div>
<div><input type='text' name='a' ID='a' ></div>
<div><label> Aantal dienstjaren:</label></div>
<div><input type='text' name='b' ID='b'></div>
<div><label> Bruto maandinkomen: <br><i><FONT size="1"> inclusief vakantiegeld en dertiende maand</FONT></i></label></div>
<div><input type='text' name='c' ID='c'></div><P></P>
<div><label ID='uit'><b> Ontslagvergoeding:</b></label></div>
<br></br>
<div>
</div>
<div>
</div>
<input type='button' name='uitrekenen' onclick="rekenen1()" value='Berekenen'>
<br></br>
</div> 
</form>
 
</body>
</html>


PS: Tevens jouw opmerking over het gebruik van komma's als input. Bij de berekening van een ontslagvergoeding gaat dit wel goed. Uitkomst wordt automatisch afgerond naar een heel bedrag. Maar ik zie het verschil niet tussen de twee codes!
 
Laatst bewerkt:
Onderstaande code werkt, deze heb ik getest.

Ga daar eens mee stoeien om het CORRECT werkend te krijgen, ik denk dat er nog wel een aantal uitdagingen in zitten voor je om dit echt correct te krijgen.

Code:
<!DOCTYPE html>
<html>
	<head>
		<script language= "JavaScript">
 
			function rekenen1(){
//				var a = parseInt(document.getElementById("a").value);
				var fout = false;
				
				if (!isNaN(parseInt(document.getElementById("a").value))){
					var nu = new Date();
					var jaar = nu.getYear();
					((jaar < 1900) ? (jaar = jaar + 1900) : (jaar = jaar));
					var geb_jr = parseInt(document.getElementById("a").value);
					if ((geb_jr < (jaar-70)) || (geb_jr > (jaar-18)))
						alert ('Ongeldig geboortejaar : '+geb_jr);
				}
				else {
					alert('Ongeldig geboortejaar, het is geen getal');
					fout = true;
				}
		
				if (!isNaN(parseInt(document.getElementById("b").value))){
					var loon = parseInt(document.getElementById("b").value);
				}
				else {
					alert('Ongeldig SVW-loon, het is geen getal of niet afgerond op hele euro\'s');
					fout = true;
				}
		
				var weekeis = document.getElementById("c").selectedIndex;
				var jaareis = document.getElementById("d").selectedIndex;
                var e = (1998 - geb_jr) - 18;
		
				if (!isNaN(parseInt(document.getElementById("f").value))){
					var feitelijk = parseInt(document.getElementById("f").value);
				}
				else {
					alert('Ongeldig feitelijk arbeidsverleden,\n het is geen getal of niet afgerond op hele maanden');
					fout = true;
				}
				
				if (fout == false)	{
//				alert('E : '+e+', Feitelijk : '+feitelijk+', D : '+jaareis);
					var uitkomst4 = (e + feitelijk) * jaareis;	// Hier vermenigvuldigen meet jaareis ? (boolean)
					var uitkomst1 = (loon / 100) * 75;
					var uitkomst2 = ((uitkomst1 / 75) * 70);
					var uitkomst3 = weekeis + uitkomst4;			// Hier vermenigvuldigen meet weekeis ? (boolean)
                   
					document.getElementById("uit").innerHTML = uitkomst1;
					document.getElementById("uit2").innerHTML = uitkomst2;
					document.getElementById("uit3").innerHTML = uitkomst3;
				}

            }
		</script>
		
		<style>
			.row	{
				clear			: both;
				margin-top		: 4px;
			}
			
			.links	{
				width			: 300px;
				float			: left;
			}
			.rechts	{
				width			: 150px;
				float			: left;
			}
		</style>
			
	</head>
	<body>
	<div style="color: black; border:5pt outset #66CCFF; background-color: #27A6D1">
		<h2><u><center>Hoogte en duur WW berekenen</center></u></h2>
		<noscript>
			<b>Let op: Momenteel is Javascript niet geactiveerd in uw browser. De onderstaande berekenaar maakt gebruik van Javascript en zal niet functioneren.</b>
		</noscript>
		<form name='rekenen'>
			<div class="row">
				<div class="links" >Geboortejaar:</div>
				<div class="rechts" ><input type='text' name='a' id='a'></div>
			</div>
			<div class="row">
				<div class="links" >SV-Loon:</div>
				<div class="rechts" ><input type='text' name='b' id='b'></div>
			</div>
			<div class="row">
				<div class="links" >Wekeneis:</div>
				<div class="rechts" >
					<select name='c' id='c'>
						<option value="1">Ja</option>
						<option value="0">Nee</option>
					</select>
				</div>
			</div>
			<div class="row">
				<div class="links" >Jareneis:</div>
				<div class="rechts" >
					<select name='d' id='d'>
						<option value="1">Ja</option>
						<option value="0">Nee</option>
					</select>
				</div>
			</div>
			<div class="row">
				<div class="links" >Feitelijk arbeidsverleden:</div>
				<div class="rechts" ><input type='text' name='f' id='f'></div>
			</div>
			<br><br><br><br>
			<div class="row">
				<div class="links" >Hoogte WW eerste twee maanden:</div>
				<div class="rechts" id="uit"></div>
			</div>
			<div class="row">
				<div class="links" >Hoogte WW resterende maanden:</div>
				<div class="rechts" id="uit2"></div>
			</div>
			<div class="row">
				<div class="links" >Duur in maanden</div>
				<div class="rechts" id="uit3"></div>
			</div>

			<br><br><br>
			<input type='button' name='uitrekenen' onclick="rekenen1()" value='Berekenen'>
			<br></br>
		</form>
	</body>
</html>
 
Dankje voor je snelle reactie.

Hier kan ik zeker verder mee.

Zeker een uitdaging, maar dat houdt het leuk :-)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan