任何人都可以看到下面的代码是否存在明显问题。它是一个非常直接的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>
答案 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);