为什么我没有使用此代码从JavaScript获得输出?

时间:2014-04-19 16:16:38

标签: javascript

任何人都可以看到下面的代码是否存在明显问题。它是一个非常直接的HTML页面,用JavaScript添加两个输入的数字或者将它们相乘。目前我没有输出。谢谢

<html>
<head>
</head>
<body>
<form id="myform" name="myform">
Please enter your Numbers:<br/>
   Number 1: <input type=text id="number1" name="num1"/><br/>
   Number 2:<input type=text id="number2" name="num2"/><br/><br/>
   <input type=button name="add" id="add" value="Add" onclick="addNumbers()"/>
   <input type=button name="add" id="multiply" value="Multiply" onclick="multNumbers()"/><br/>

   <table name="mytable" id="t">
   </table>
   </form>

    <script type="text/javascript">
    var num1=document.getElementById('number1').value;
    var num2=document.getElementById('number2').value;
    var result="";

    addNumbers(){
    result=num1+num2;
    document.getElementById('t').innerHTML=result;
    }

    multNumbers(){
    result=num1*num2;
    document.getElementById('t').innerHTML=result;
    }

    </script>
</body>
</html>

3 个答案:

答案 0 :(得分:4)

您的函数声明缺少function关键字。 在函数中,您需要在调用它们时检索输入值。

function addNumbers() {
  var num1 = document.getElementById('number1').value;
  var num2 = document.getElementById('number2').value;

  var result = num1 + num2;

  // since your target is a table:
  var table = document.getElementById('t');
  // you need to create a row
  var row = table.insertRow(-1);
  // and in the row a cell
  var td = row.insertCell(-1);
  td.textContent = result;
}

修改

 var num1 = parseInt(document.getElementById('number1').value, 10);
 var num2 = parseInt(document.getElementById('number2').value, 10);

或小数:

 var num1 = parseFloat(document.getElementById('number1').value);
 var num2 = parseFloat(document.getElementById('number2').value);

答案 1 :(得分:2)

您必须使用function声明函数:

function addNumbers(){ /* ... */ }          // Function Statement

var addNumbers = function(){ /* ... */ };   // Function Expression

而不是

addNumbers(){ /* ... */ }

答案 2 :(得分:2)

您需要创建函数 Oriol 表示,并且还需要使输入值为整数,如

var num1= +(document.getElementById('number1').value);

或者

var num1= parseInt(document.getElementById('number1').value, 10);

DEMO