Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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,我有一个简单的计算器,我想两个文本字段重置时,重置按钮被点击,但由于某种原因,它不工作。我引用了其他堆栈溢出查询,但有些使用jQuery。有没有一种不用jQuery就可以做到这一点的方法?无论如何,这里是JSFIDLE: var a,b,结果; 函数setValues(){ a=编号(document.getElementById('leftInput')。值); b=编号(document.getElementById('rightInput')。值); } 函数和(){ setValues

我有一个简单的计算器,我想两个文本字段重置时,重置按钮被点击,但由于某种原因,它不工作。我引用了其他堆栈溢出查询,但有些使用jQuery。有没有一种不用jQuery就可以做到这一点的方法?无论如何,这里是JSFIDLE:


var a,b,结果;
函数setValues(){
a=编号(document.getElementById('leftInput')。值);
b=编号(document.getElementById('rightInput')。值);
}
函数和(){
setValues();
结果=a+b;
document.getElementById('inputTotal')。innerHTML=result;
}
函数重置(){
document.getElementByID('inputLeft')。innerHTML.value=“”;
document.getElementByID('inputRight')。innerHTML.value=“”;
}
总数:

试试这个:

<script>
    var a, b, result;

    function setValues() {
        a = Number(document.getElementById('leftInput').value);
        b = Number(document.getElementById('rightInput').value);
    }

    function sum() {
        setValues();
        result = a + b;
        document.getElementById('inputTotal').innerHTML = result;
    }

    function reset() {
        document.getElementById("leftInput").value = "";
        document.getElementById("rightInput").value = "";
    }
</script>
<div>
    <input id="leftInput" type="text" />
    <input id="rightInput" type="text" />
    <input type="button" onClick="sum()" value="sum" />
    <input type="button" onClick="reset()" value="reset" />
    <p>Total: <a id="inputTotal"></a>
    </p>
</div>

在这种情况下,您希望使用innerHTML,因为您的值不在输入/表单操作中。这是更新后的。

我发现了一个非常简单的解决方案,只需将所有输入包装在表单标签中,您的重置按钮就会正常工作。

在重置功能中删除innerHTML。只要使用value,就应该做到。@fubbe谢谢!成功了。innerHTML标记的要点是什么?值是输入类型文本元素的属性。而innerHTML主要用于更改DOM。请在w3c或mdn上查看它。别忘了接受@Kyle的回答,投票支持他:)谢谢!您知道如何在计算后重置总值吗?
<script>
    var a, b, result;

    function setValues() {
        a = Number(document.getElementById('leftInput').value);
        b = Number(document.getElementById('rightInput').value);
    }

    function sum() {
        setValues();
        result = a + b;
        document.getElementById('inputTotal').innerHTML = result;
    }

    function reset() {
        document.getElementById("leftInput").value = "";
        document.getElementById("rightInput").value = "";
    }
</script>
<div>
    <input id="leftInput" type="text" />
    <input id="rightInput" type="text" />
    <input type="button" onClick="sum()" value="sum" />
    <input type="button" onClick="reset()" value="reset" />
    <p>Total: <a id="inputTotal"></a>
    </p>
</div>
document.getElementById("inputTotal").innerHTML = "";