Hi,
I am a beginner to coding javascript. I have spent many hours trying to get this calculation result to display in the form box in the browser window. I think the calculation is correct because it works when I use a calculator but it doesn't do anything as it is now coded. Do I use parseInt, or Math.round and do I display it by saying return payment;
Any help would be greatly appreciated! Here's the code by cut and paste method:
<html>
<head>
<title>Final exam 2</TITLE>
<script>
/* car payment calculation function coding here */
<!--
function calc(myform) {
var interest = myform.rate.value / 100;
var total = ((myform.price.value - myform.down.value) * (1 + myform.rate.value));
var payment = myform.total.value / 60;{
return payment;
}
</script>
</head>
<body bgcolor="#FFE4E1">
<h1>Final Exam Car Payment Calculator(CPC)</h1>
<p>
</p><form name="myform" id="myform"><!--are the name and id required? I've seen examples of forms that are referenced in the script. The function is calling "myform" right?-->
<table border="1">
<tr>
<td>Car Price:</td>
<td><input type="text" value="0" name="price" /></td>
<hr />
<h3>Question #2</h3>
Write a JavaScript function - calc() with parameter/argument to calculate a car payment:
<ul><li>interest = rate / 100</li>
You have at least 1 syntax error and at least 1 logic error.
The Firefox error console tells you exactly what the errors are.
Using some basic Debugging 101 as described here http://www.webdeveloper.com/forum/sh...47#post1074647 you should be able to debug your code using either a debugger or alert() statements to check values of variables and your code logic.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"><HTML><HEAD><TITLE>Mo8-40am49</TITLE><META http-equiv=Content-Type content="text/html; charset=UTF-8"><STYLE type=text/CSS></STYLE><SCRIPT type="text/javascript">
function calc(myform) {
var f=document.forms[0].elements; // identify forms and inputs by their index rather than name or id (personal prefrence)
var interest = f[1].value / 100; // alert(interest)
var total = ((f[0].value - f[2].value) * (1 + f[1].value)); // alert(total)
f[3].value=(total / 60).toFixed(2); // monthly payment
f[4].value=total
}
</SCRIPT><META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD><BODY scroll="auto" bgcolor="#FFE4E1"><h1>Final Exam Car Payment Calculator(CPC)</h1><form><table border="1" style="text-align:right;border-collapse:collapse"><tr><td>Car Price: <input value="1000" name="price" /></td></tr><!--default type is text, leave off if text--><tr><td>Interest rate: <input value="5.5" name="rate" /></td></tr><tr><td>Number of Years: 5 years (60 months) </td></tr><tr><td>Down Payment: <input value="90" name="down" /></td></tr><tr><td>Monthly Payment: <input name="payment" onFocus="this.blur();" /></td></tr><!--Why is this blur? A: this blur becasue you don't get to decide how much to pay per month--><tr><td>paid after 5 years <input></td></tr></table><p><input type="button" value="Calculate" onClick="calc(this)" /><input type="reset" value="Reset" /></form><hr /><h3>Question #2</h3>
Write a JavaScript function - calc() with parameter/argument to calculate a car payment:
<ul><li>interest = rate / 100</li><li>total = ((price - down) * (1 + interest))</li><li>payment = total / 60 </li></ul></BODY></HTML>
Thanks so much for your detailed reply! I think it will really help me, both for this problem and with javascript overall. I am going to study your answer and work on this calculation this afternoon.
Bookmarks