Javascript 函数与表单元素一起工作。我还需要重置按钮,但它仅适用于<;表格>;要素

Javascript 函数与表单元素一起工作。我还需要重置按钮,但它仅适用于<;表格>;要素,javascript,function,Javascript,Function,在我的程序中,我有3个功能: 金额必须加在一起,其总额必须显示在中 第二,计算增值税 第三个可以重置一切 所以问题是:重置按钮仅适用于元素。 但是在元素中,我有一个重新复制VAT结果的错误。它在1秒内出现,然后消失。我想它和重置功能有关。请帮助我理解。如果我打开,则VAT按钮工作,但重置按钮-否 <HTML> <HEAD> </HEAD> <BODY> <h2>Onderdeel 1</h2>

在我的程序中,我有3个功能:

  • 金额必须加在一起,其总额必须显示在中
  • 第二,计算增值税
  • 第三个可以重置一切
  • 所以问题是:重置按钮仅适用于
    元素。 但是在
    元素中,我有一个重新复制VAT结果的错误。它在1秒内出现,然后消失。我想它和重置功能有关。请帮助我理解。如果我打开,则VAT按钮工作,但重置按钮-否

    <HTML>
     <HEAD>
      </HEAD>
        <BODY> 
        <h2>Onderdeel 1</h2>   
        <h2>The Sum Program</h2>   
        <hr/>
         <form id="myForm">
          <button type="button" onclick="check_field('myInput');"value = ''>Enter</button>
          <input id="myInput">
          <p>Uw totaal:</p>
          <input type="number" id="output">
          <button type="button" onclick="check_field('myInput');"value = ''>Enter</button>
          <br>
          <br>
          <br>
          <button onclick="getBTW()">get BTW</button>
          </br>
          <p>Prijs zonder BTW <input id="prijsZonderBTW"> </p>
          <p> Btw <input id="btw"> </p>
          <button onclick="myReset()">reset</button>
        </form>
        <script>
           var input = document.getElementById("myInput");
           var output = document.getElementById("output");
           var total = 0;
         function check_field(id) {
                var field = document.getElementById(id);
                if (isNaN(field.value)) {
                    alert('not a number');
                } else {
                  return myFunction();
                }
            }
         function myFunction() {
            total += +input.value;
            output.value = total;
            input.value = "";
          }
          function myReset() {
           document.getElementById("myForm").reset();
          }
          function getBTW() {
            var prijs = document.getElementById("myInput").value;
            var prijsZonderBTW = (prijs/121)*100;
            var btw = prijs - prijsZonderBTW;
            document.getElementById("prijsZonderBTW").value = prijsZonderBTW.toFixed(2);
            document.getElementById("btw").value = btw.toFixed(2);
         }
            </script>
        </BODY>
    </HTML>
    
    
    昂德尔德尔1号
    求和程序
    
    进入 Uw totaal:

    进入


    顺便说一句
    Prijs zonder顺便说一句

    顺便说一句

    重置 var input=document.getElementById(“myInput”); var output=document.getElementById(“输出”); var合计=0; 功能检查\u字段(id){ var字段=document.getElementById(id); if(isNaN(字段值)){ 警报(“不是数字”); }否则{ 返回myFunction(); } } 函数myFunction(){ 总+=+输入值; 产值=总产值; input.value=“”; } 函数myReset(){ document.getElementById(“myForm”).reset(); } 函数getBTW(){ var prijs=document.getElementById(“myInput”).value; var prijsZonderBTW=(prijs/121)*100; var btw=prijs-prijsZonderBTW; document.getElementById(“prijsZonderBTW”).value=prijsZonderBTW.toFixed(2); document.getElementById(“btw”).value=btw.toFixed(2); }
    在这里做了大量的调整。主要有: 1) 使用input type=“button”代替按钮。每个表单只有一个按钮,它会提交表单,这就是发生的事情 2) 已将用户输入交换为type=“number”,因此无需进行验证 3) 去掉全局变量,将它们移动到需要它们的函数范围中 4) 在getBTW中,使用output.value代替myInput,myInput在每次单击+按钮时都会被清除

    希望这些调整是有意义的,并让你在正确的轨道上前进

    函数myFunction(){
    常量输入=document.getElementById(“myInput”),
    输出=document.getElementById(“输出”);
    设total=+output.value | | 0;
    总+=+输入值;
    产值=总产值;
    input.value=“”;
    }
    函数getBTW(){
    var prijs=+document.getElementById(“输出”).value;
    var prijsZonderBTW=(prijs/121)*100;
    var btw=prijs-prijsZonderBTW;
    document.getElementById(“prijsZonderBTW”).value=prijsZonderBTW.toFixed(2);
    document.getElementById(“btw”).value=btw.toFixed(2);
    }
    函数myReset(){
    document.getElementById(“myForm”).reset();
    }
    
    昂德尔德尔1号
    求和程序
    
    用户输入
    Uw totaal:



    Prijs zonder顺便说一句

    顺便说一句