Log in

View Full Version : Calculating form



sawebs
05-03-2012, 12:08 PM
The form is working 100% fine but not the correct answer.

I have no idea what i can change in the script to get the right answer.

10 days x 10 taxis x 15 (price for ad) x 0.93 (100% minus discount) = 1,395

The calculator's current answer is = 1,486.05

The script was created bye jscheuer1.

The javascript



<script type="text/javascript">
function calculate() {
var fields = [], i = 1, el, val, whole, total;
for (i; i < 5; ++i){
el = document.getElementById('el' + i); val = el.value;
if((whole = i < 3) && /\./.test(val) || isNaN(Number(val))){
alert("Please enter only " + (whole? 'whole ' : '') + "numbers\nfor " + (el.value = el.defaultValue));
el.focus();
el.select();
return;
}
fields.push(val);
}
total = fields[0] * fields[1] * fields[2];
total -= fields[3]/100 * total;
document.getElementById('calculate').innerHTML = "Total: " + total;
}
</script>


And the Body




<form action="#" onSubmit="calculate(); return false;">
<label>Days: <input type="text" id="el1" value="Amount of days"></label>
<label>Taxis: <input type="text" id="el2" value="Amount of taxis"></label>
<label>Perdiem: <input type="text" id="el3" value="Price per taxi per day"></label>
<label>Discount: <input type="text" id="el4" value="100% minus % off"></label>
<div id="calculate">Total:</div>
<br />
<br />
<input type="submit" value="Calculate">
</form>



My client is driving me up the will for this calculating form.

Please any help is appreciated. :(

vwphillips
05-03-2012, 02:11 PM
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
<script type="text/javascript">
function calculate() {
var fields = [], i = 1, el, val, whole, total;
for (i; i < 5; ++i){
el = document.getElementById('el' + i); val = el.value;
if((whole = i < 3) && /\./.test(val) || isNaN(Number(val))){
alert("Please enter only " + (whole? 'whole ' : '') + "numbers\nfor " + (el.value = el.defaultValue));
el.focus();
el.select();
return;
}
fields.push(val);
}
total = (fields[0] * fields[1] * fields[2])*fields[3]/100;
document.getElementById('calculate').innerHTML = "Total: " + total;
}
</script></head>

<body>
<form action="#" onSubmit="calculate(); return false;">
<label>Days: <input type="text" id="el1" value="10"></label>
<label>Taxis: <input type="text" id="el2" value="10"></label>
<label>Perdiem: <input type="text" id="el3" value="15"></label>
<label>Discount: <input type="text" id="el4" value="93"></label>
<div id="calculate">Total:</div>
<br />
<br />
<input type="submit" value="Calculate">
</form>
</body>

</html>