我有这个用HTML和JavaScript解决二次方程的简单代码。我在这段代码中找不到我的错误。
单击“计算”按钮时,我没有收到任何输出(警报)。
脚本:
<script language="JavaScript">
function quadraticformula()
{
var a = document.getElementById(variablea).value;
var b = document.getElementById(variableb).value;
var c = document.getElementById(variablec).value;
var p = (-b);
var q = (b*b);
var r = (4*a*c);
var s = (q-r);
var t = (math.sqrt(s));
var u = (2*a);
var v = ((p + t) / u);
var w = ((p - t) / u);
document.write("x=" + v + ", x=" + w);
alert("x=" + v + ", x=" + w);
}
</script>
HTML:
<form name="myform">
<table>
<tr>
<td><input type="text" name="va" id="variablea" size="3"> x<sup>2</sup>+</td>
<td><input type="text" name="vb" id="variableb" size="3"> x+</td>
<td><input type="text" name="vc" id="variablec" size="3"> = 0 </td>
</tr>
<tr rowspan="2">
<td colspan="3" align="center">
<input type="button" id="calc" value="Calculate" onclick="quadraticformula()">
</td>
</tr>
</table>
</form>
答案 0 :(得分:1)
看起来您的Javascript可能无法正确解释。请尝试使用此功能(这是HTML 5兼容。)
<script type="text/javascript">
此外,使用document.getElementById(variablea)
时。您想要指向字符串引用的元素。然后你必须加上引号:
var a = parseInt(document.getElementById("variablea").value);
var b = parseInt(document.getElementById("variableb").value);
var c = parseInt(document.getElementById("variablec").value);
您的功能中也存在拼写错误。使用Math.sqrt(s)
使用大写字母M。
编辑:正如@Bergi和@Teemu指出的那样,不要在事件中使用document.write
。