javascript /参考错误中的简单计算未定义

时间:2018-11-10 08:57:15

标签: javascript function

我对javascript绝对陌生。我正在尝试创建我的第一个html页面,并在html标签上添加一些javascript。我想有两个可以输入任何数字的框,然后单击“显示我!”为了得到结果。我在下面编写了代码,但是却什么也没做:

<!DOCTYPE html>
<html>
<head>
    <title>Interactive JS homework</title>
    <style>
    </style>
    <script>
        function calculate(){
            var a = parseFloat(document.getElementById("a").value);
            var b = parseFloat(document.getElementById("b").value);
            document.getElementById("result") == a+b;
        }
    </script>
</head>
<body>
    <form>
        <p>
            <input type="text" id="a" oninput="calculate();">
            <input type="text" id="b" oninput="calculate();">
            <input type="button" id="showme" value="Show me!" onclick="calculate();">
            <input type="text" id="result">
        </p>
    </form>
</body>

对我错在哪里有帮助吗? 提前谢谢了!

2 个答案:

答案 0 :(得分:2)

您必须使用元素的 value 属性。请注意所用运算符的更改,应该是赋值(=)而不是Comparisn(==)。

document.getElementById("result").value = a+b;

我也建议您在元素中没有值时分配0。如果任何元素的值为空,这将防止显示意外的 NaN 结果。

<!DOCTYPE html>
<html>
<head>
    <title>Interactive JS homework</title>
    <style>
    </style>
    <script>
        function calculate(){
            var val1 = document.getElementById("a").value.trim();
            var val2 = document.getElementById("b").value.trim();
            var a = parseFloat(val1 == ""? 0 : val1);
            var b = parseFloat(val2 == ""? 0 : val2);
            document.getElementById("result").value = a+b;
        }
    </script>
</head>
<body>
    <form>
        <p>
            <input type="text" id="a" oninput="calculate();">
            <input type="text" id="b" oninput="calculate();">
            <input type="button" id="showme" value="Show me!" onclick="calculate();">
            <input type="text" id="result">
        </p>
    </form>
</body>

答案 1 :(得分:0)

好吧,看来您只是忘了一件小事。

在读取<persistence-unit name="MyConnection" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/> <property name="hibernate.connection.username" value="midas"/> <property name="hibernate.connection.password" value="midas123"/> <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="show_sql" value="true"></property> <property name="hibernate.globally_quoted_identifiers" value="true"/> </properties> </persistence-unit> a文本框的值时,您在检索元素以访问其值后正确使用了b,但是当您尝试设置{ {1}}文本框,您只是将其与.value的值进行了比较。 result运算符用于比较,而不是设置值。

同样,您将需要设置a+b文本框的==,而不是文本框本身。

.value