var a, b, result;
function setValues(){
a = Number(document.getElementById("num1").value);
b = Number(document.getElementById("num2").value);
}
function addition(){
setValues();
result.innerHTML = a + b;
}
如何从两个输入表单中取两个值,并在innerHTML中显示结果? 它不适用于我的代码。谢谢你的帮助。
答案 0 :(得分:2)
您的代码存在一些问题。
您没有调用添加功能。
然后,您需要指定要添加两个值的值的html元素。
var a, b, result;
function setValues() {
a = Number(document.getElementById("num1").value);
b = Number(document.getElementById("num2").value);
}
function addition() {
setValues();
document.getElementById("result").innerHTML = a + b;
};
addition();
<input id="num1" value=4>
<input id="num2" value=4>
<div id="result"></div>
答案 1 :(得分:1)
向每个输入元素添加事件侦听器,并且当侦听器调用回调时,将setValues
的结果返回到元素的innerText
属性(innerHTML
有效,但是打算改变HTML而不仅仅是文本。)
/** get a reference to all elements involved, and cache the reference **/
var result = document.getElementById('result');
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
function setValues(){
var a = Number(num1.value);
var b = Number(num2.value);
return a + b; // return a result from the function
}
function addition(){
result.innerText = setValues(); // set the result as the text of the p element
}
/** add and event listener to each input **/
num1.addEventListener('input', addition);
num2.addEventListener('input', addition);
&#13;
<input id="num1" type="number"> <!-- set type number -->
<input id="num2" type="number"> <!-- set type number -->
<p id="result"></p>
&#13;
答案 2 :(得分:0)
您必须指定div
,其innerHTML
将被更改。在页面中添加div,然后选择它,然后使用js innerHTML进行更改。如果您正在使用需要调用的函数,那么请在任何事件ex上调用该函数。点击。
答案 3 :(得分:0)
请检查以下代码。除非在多个地方使用全局变量,否则不需要全局变量。
function getValues(){
var a = Number(document.getElementById("num1").value);
var b = Number(document.getElementById("num2").value);
return a + b;
}
function addition(){
document.getElementById("result").innerHTML = getValues();
}
addition();
HTML代码
<input id="num1" value="1">
<input id="num2" value="2">
<input id="result" value="">