二次JavaScript错误

时间:2014-05-12 17:41:18

标签: javascript html

我有这个用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>

1 个答案:

答案 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