Javascript问题 - HTML部门计算器

时间:2017-11-20 02:21:48

标签: javascript html

我在学习阶段代码工作没问题,但我需要添加以下功能。

  1. 当在计算按钮上单击鼠标时,它会进行计算并将结果输出正确,但我的问题是我想要使用物理键盘"输入键"执行/按下计算按钮。
  2. 我还需要在5秒后自动重置表单,我该怎么做?
  3. <script Language="Javascript">function Calc(myform){var enternumber1=document.myform.number1.value;var enternumber1=parseFloat(enternumber1,10);if(isNaN(enternumber1)||(enternumber1<0)){alert(" Enter a valid number! ");document.myform.number1.value="";document.myform.number1.focus();}else{var enternumber2=document.myform.number2.value;var enternumber2=parseFloat(enternumber2,10);if(isNaN(enternumber2)||(enternumber2<0)){alert(" Enter a valid number! ");document.myform.number2.value="";document.myform.number2.focus();}else
    document.myform.number3.value=enternumber1/enternumber2;}}</script>
        <form name="myform">
            <br />
            <b>Enter your first number:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input maxlength="" name="number1" size=" " type="text" /><br />
            <br />
            <b>Enter your second number:</b> <input maxlength="" name="number2" size="" type="text" /><br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;<input name="button" onclick="Calc(myform)" type="button" value="Calculate" /> &nbsp;&nbsp;<input name="Reset" type="Reset" /><br />
            <br />
            <b>The result is :</b>&nbsp;&nbsp;<input maxlength="" name="number3" size="" type="text" value="" />&nbsp;</form>
    

1 个答案:

答案 0 :(得分:0)

请尽量明白你的要求。让我们现在转到您的查询:

从您的查询中我可以理解您在做两件事时遇到了问题:

  1. 在第二个输入字段中按Enter键时调用Calc(&#39; myform&#39;)功能。 - 我没有覆盖表单的验证(应该有验证函数,在调用Calc()函数之前调用)。只需在表单标记和第二个输入字段中添加一个id。让我们分别在表单和第二个输入字段中添加myForm和num2 id。 添加后,您可以使用以下功能:

    <script type="text/javascript">
        document.getElementById('num2').onkeypress = function (event) {
            if (event.keyCode == 13) {
                Calc(myform);
            }
        };
    </script>
    
  2. **注意:**在这个函数中,我们检查当光标在num2字段时按下的每个键,如果按下的键有代码13,这是回车键的键码,我只是在调用您已经使用的相同函数Calc()。它将执行与单击Calculate按钮时相同的操作。

    1. 每5秒重置一次表格。请添加此功能:

      function resetForm() {
          document.getElementById("myForm").reset()
      }
      
      setInterval(resetForm, 5000);
      
    2. 注意:我们在这里调用setInterval函数来每隔5秒重置一次表单。请不要忘记在表单中添加myForm id。