Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将两个输入与JavaScript相乘&;在文本框中显示_Javascript - Fatal编程技术网

将两个输入与JavaScript相乘&;在文本框中显示

将两个输入与JavaScript相乘&;在文本框中显示,javascript,Javascript,我是JavaScript新手&正在寻找一些帮助来完成两个数字的简单乘法&在另一个文本框中显示结果。几天来,我一直试图让它工作,但都没有用:( 这里是基本的HTML和JavaScript&一个指向fiddle的链接 我做错了什么 我要编写的应用程序至少有12行,我如何扩展JavaScript/HTML以适应这一点?每个输入标识符是否需要唯一 感谢您的帮助:) 方框1 方框2 结果 函数计算(){ var myBox1=document.getElementById('box1').value;

我是JavaScript新手&正在寻找一些帮助来完成两个数字的简单乘法&在另一个文本框中显示结果。几天来,我一直试图让它工作,但都没有用:(

这里是基本的HTML和JavaScript&一个指向fiddle的链接

我做错了什么

我要编写的应用程序至少有12行,我如何扩展JavaScript/HTML以适应这一点?每个输入标识符是否需要唯一

感谢您的帮助:)


方框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>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</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>