Code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Calculator</title>
<style type="text/css">
.required {
font-weight: bold;
color : red;
}
.info {
width: 30pt;
}
</style>
</head>
<body>
<div id="content">
<form id="EmpForm">
<label>Number of Employees:
<input class="info" name="NumEmps" value="10" />
<span class="required">*</span>
</label><br />
<label>Hourly Rate: $
<input class="info" name="Hourly" value="10"/>
<span class="required">*</span>
</label><br />
<label>Markup Percentage:
<input class="info" name="Markup" value="30"/>%
<span class="required">*</span>
</label><br />
<label>Hours Per Week:
<input class="info" name="Hours" value="40" />
<span class="required">*</span>
</label><br />
<br/>
<label>Your Weekly Profit: $
<input name="Profit" readonly="readonly" />
</label><br />
</form>
</div>
<script type="text/javascript">
(
function( )
{
var form = document.getElementById("EmpForm");
var inps = form.getElementsByTagName("input");
for ( var i = 0; i < inps.length; ++i )
{
if ( inps[i].className == "info" )
{
inps[i].onchange = recalculate;
}
}
function recalculate( )
{
var allOK = true;
var result = 1;
for ( var i = 0; i < inps.length; ++i )
{
if ( inps[i].className == "info" )
{
var inp = inps[i];
var val = inp.value.replace(/\s/g,"");
if ( val === "" || isNaN(val) )
{
allOK = false;
} else {
val = Number(val);
if ( inp.name == "Markup" ) { val = val * 0.01; }
result *= val;
}
}
}
form.Profit.value = ( allOK ? result.toFixed(2) : "n/a" );
}
recalculate( );
}
)();
</script>
</body>
</html>