将两个输入与JavaScript相乘&;在文本框中显示
我是JavaScript新手&正在寻找一些帮助来完成两个数字的简单乘法&在另一个文本框中显示结果。几天来,我一直试图让它工作,但都没有用:( 这里是基本的HTML和JavaScript&一个指向fiddle的链接 我做错了什么 我要编写的应用程序至少有12行,我如何扩展JavaScript/HTML以适应这一点?每个输入标识符是否需要唯一 感谢您的帮助:)将两个输入与JavaScript相乘&;在文本框中显示,javascript,Javascript,我是JavaScript新手&正在寻找一些帮助来完成两个数字的简单乘法&在另一个文本框中显示结果。几天来,我一直试图让它工作,但都没有用:( 这里是基本的HTML和JavaScript&一个指向fiddle的链接 我做错了什么 我要编写的应用程序至少有12行,我如何扩展JavaScript/HTML以适应这一点?每个输入标识符是否需要唯一 感谢您的帮助:) 方框1 方框2 结果 函数计算(){ var myBox1=document.getElementById('box1').value;
方框1
方框2
结果
函数计算(){
var myBox1=document.getElementById('box1').value;
var myBox2=document.getElementById('box2').value;
var result=document.getElementById('result');
var myResult=box1*box2;
result.innerHTML=myResult;
}
首先要更改的是带乘法的行。它应该是:var myResult=myBox1*myBox2代码>
您不应该将innerHTML与输入字段-use value一起使用
除此之外,只有当输入失去焦点时,onchange
事件才会触发。您可能需要使用oninput
事件
看看工作示例:
方框1
方框2
结果
函数计算(){
var myBox1=document.getElementById('box1').value;
var myBox2=document.getElementById('box2').value;
var result=document.getElementById('result');
var myResult=myBox1*myBox2;
document.getElementById('result')。value=myResult;
}
不能使用result.innerHTML=myResult代码>直接在javascript变量上。首先需要读取html dom元素document.getElementById('result')
,然后调用输入字段的value属性或div、span元素的innerHTML 天才!它现在可以工作了:)我如何扩展它来处理一个有12行的表?我想我需要遍历整个表?每个输入/结果是否需要不同的ID?嘿@user3213157!如果您觉得此答案有用,可以单击答案左侧的复选标记,将其设置为“已接受答案”。至于你在之前的评论中提出的新问题:如果这仍然是一个问题,最好提出一个全新的问题!并且:欢迎使用StackOverflow:-)下面是一个多字段的示例:希望您不介意我使用jquery。但这会让事情变得简单很多。如果你能添加一些注释来解释这个答案,那就太好了。只有代码的答案经常在审核时被删除。看见
<table width="80%" border="0">
<tr>
<th>Box 1</th>
<th>Box 2</th>
<th>Result</th>
</tr>
<tr>
<td><input id="box1" type="text" /></td>
<td><input id="box2" type="text" onchange="calculate()" /></td>
<td><input id="result" /></td>
</tr>
</table>
<script>
function calculate() {
var myBox1 = document.getElementById('box1').value;
var myBox2 = document.getElementById('box2').value;
var result = document.getElementById('result');
var myResult = box1 * box2;
result.innerHTML = myResult;
}
</script>
<table width="80%" border="0">
<tr>
<th>Box 1</th>
<th>Box 2</th>
<th>Result</th>
</tr>
<tr>
<td><input id="box1" type="text" oninput="calculate();" /></td>
<td><input id="box2" type="text" oninput="calculate();" /></td>
<td><input id="result" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<script>
function calculate() {
var myBox1 = document.getElementById('box1').value;
var myBox2 = document.getElementById('box2').value;
var result = document.getElementById('result');
var myResult = myBox1 * myBox2;
document.getElementById('result').value = myResult;
}
</script>