Here is some code that
works in most modern
browsers.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="daveyerwin">
<title>Untitled</title>
<script type="text/javascript">
function updateTotal(){
var u = document.goldcalculator.gunit.value;
var spotprice = document.goldcalculator.goldspot.value / u;
var gold10 = document.goldcalculator.n10k.value;
var gold14 = document.goldcalculator.n14k.value;
var gold18 = document.goldcalculator.n18k.value;
var gold22 = document.goldcalculator.n22k.value;
var gold24 = document.goldcalculator.n24k.value;
var calculatedPrice = document.goldcalculator.totalprice;
calculatedPrice.value = ((spotprice*.999*gold24)+(spotprice*.916*gold22)+(spotprice*.75*gold18)+(spotprice*.585*gold14)+(spotprice*.417*gold10));
}
</script>
<style type="text/css">
</style>
<body>
<div id="content">
<?php
$goldvalue = 2000;
print "<form name='goldcalculator'>";
print "<input type='hidden' name='goldspot' value='$goldvalue'>";
print "<select name='gunit' onchange='updateTotal();'>";
print "<option value='20'>Pennyweight (DWT)</option>";
print "<option value='31.1'>Grams (g)</option>";
print "</select><br>";
print "10K <input type='text' name='n10k' onchange='updateTotal();'><br>";
print "14K <input type='text' name='n14k' onchange='updateTotal();'><br>";
print "18K <input type='text' name='n18k' onchange='updateTotal();'><br>";
print "22K <input type='text' name='n22k' onchange='updateTotal();'><br>";
print "24K <input type='text' name='n24k' onchange='updateTotal();'><br>";
print "TOTAL <input type='text' name='totalprice'>";
print "</form>";
?>
</div>
</body>
</html>
The values returned from the form
are strings but when a string is
used in a calculation( Except Addition !)
it is automatically converted to number.