Log in

View Full Version : javascript problems



tianhua1993
04-18-2008, 02:25 AM
Hi all. I am creating a program that can calculate cubic equation for me. But I can't get the correct result. The code is given below:

<HTML>

<HEAD>
<TITLE>Cubic Equation Calculator</TITLE>
<SCRIPT LANGUAGE="JAVASCRIPT">
function calculate()
{
enterValue((-1),"n1");
enterValue((-2),"n2");
enterValue((-3),"n3");
enterValue((1),"p1");
enterValue((2),"p2");
enterValue((3),"p3");
}

function enterValue(x,fieldName)
{
var a = document.cubeqncal.a.value;
var b = document.cubeqncal.b.value;
var c = document.cubeqncal.c.value;
var d = document.cubeqncal.d.value;
document.getElementById(fieldName).value = ((a*(x^3)) + (b*(x^2)) + (c*x) + d)
}
</SCRIPT>
</HEAD>

<BODY>

<FORM NAME="cubeqncal">
<INPUT TYPE="TEXT" SIZE="3" NAME="a" VALUE="1">x<SUP>3</SUP> +
<INPUT TYPE="TEXT" SIZE="3" NAME="b" VALUE="-4">x<SUP>2</SUP> +
<INPUT TYPE="TEXT" SIZE="3" NAME="c" VALUE="1">x +
<INPUT TYPE="TEXT" SIZE="3" NAME="d" VALUE="6">
<BR><BR>
<INPUT TYPE="BUTTON" VALUE="Calculate" onClick="calculate()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="RESET" VALUE="Clear All">
<BR><BR>

<TABLE BORDER="1">
<TR><TD>f(-1)</TD><TD><INPUT TYPE="TEXT" NAME="n1"></TD><TD>(x+1)</TD></TR>
<TR><TD>f(-2)</TD><TD><INPUT TYPE="TEXT" NAME="n2"></TD><TD>(x+2)</TD></TR>
<TR><TD>f(-3)</TD><TD><INPUT TYPE="TEXT" NAME="n3"></TD><TD>(x+3)</TD></TR>
<TR><TD>f(1)</TD><TD><INPUT TYPE="TEXT" NAME="p1"></TD><TD>(x-1)</TD></TR>
<TR><TD>f(2)</TD><TD><INPUT TYPE="TEXT" NAME="p2"></TD><TD>(x-2)</TD></TR>
<TR><TD>f(3)</TD><TD><INPUT TYPE="TEXT" NAME="p3"></TD><TD>(x-3)</TD></TR>
</TABLE>
</FORM>

</BODY>
</HTML>

Just as a hint, when the "Calculate" button is clicked, the "n1" field (-1) should show a result of 0, but instead I'm getting numbers like -66 and 72. Please help! Thanks in advance.

rangana
04-18-2008, 03:19 AM
Don't use name, use id instead (see higlighted) ;)


<TR><TD>f(-1)</TD><TD><INPUT TYPE="TEXT" NAME="n1"></TD><TD>(x+1)</TD></TR>
<TR><TD>f(-2)</TD><TD><INPUT TYPE="TEXT" NAME="n2"></TD><TD>(x+2)</TD></TR>
<TR><TD>f(-3)</TD><TD><INPUT TYPE="TEXT" NAME="n3"></TD><TD>(x+3)</TD></TR>
<TR><TD>f(1)</TD><TD><INPUT TYPE="TEXT" NAME="p1"></TD><TD>(x-1)</TD></TR>
<TR><TD>f(2)</TD><TD><INPUT TYPE="TEXT" NAME="p2"></TD><TD>(x-2)</TD></TR>
<TR><TD>f(3)</TD><TD><INPUT TYPE="TEXT" NAME="p3"></TD><TD>(x-3)</TD></TR>


I bet, you are using IE, since IE regards name and id as synonymous :)

...Also, what would be the formula look like?..I'm confused (nothing new) :)