二次JavaScript错误

Quadratic JavaScript error

本文关键字:错误 JavaScript 二次      更新时间:2023-09-26

我有这个简单的代码,用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>

看起来你的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);

函数中也有一个错别字。使用大写m的Math.sqrt(s)

编辑:正如@Bergi和@Teemu指出的那样,不要在事件中使用document.write