如何基于表单字段在JavaScript中进行实时计算?

时间:2016-02-19 14:12:57

标签: javascript html

这是我第一次使用JavaScript,所以如果这特别麻烦,请道歉。我正在尝试创建一个基本计算器,根据计算按钮被点击后在框1,2和3中输入的值计算出“研究样本”(.forthBox.value下的总和)。

到目前为止,这适用于js.fiddle,但不是在我尝试将代码复制到我的网站上时。有没有人对可能导致这种情况的原因有任何想法?

谢谢, 克里斯

<script type="text/javascript">
  function calc() {
    var form = document.getElementById('autoSumForm');
    one = form.firstBox.value;
    two = form.secondBox.value;
    three = form.thirdBox.value;
    form.fourthBox.value = ((((two) * (two)) * 0.25) / (((three) / 100) * ((three) / 100)) / (1 + (((two) * (two)) * 0.25) / (((three) / 100) * ((three) / 100) * (one))));
  }

  function stopCalc() {
    clearInterval(interval);
  }
</script>

<form id="autoSumForm">

  Population Size
  <input class="right" type=text name="firstBox" value="" onFocus="startCalc();" onBlur="stopCalc();">Confidence Level
  <select name="secondBox">
    <option value="1.645">90%</option>
    <option value="1.96">95%</option>
    <option value="2.576">99%</option>
  </select>

  Margin of Error
  <input class="right" type=text name="thirdBox" value="" onFocus="startCalc();" onBlur="stopCalc();">

  <input type="button" value="Calculate" onClick="calc()" name="button">Sample Needed
  <input class="right" type=text name="fourthBox">

</form>

1 个答案:

答案 0 :(得分:0)

需要对表单使用getElementById,以便访问其中的元素。

<script type="text/javascript">
function calc(){
    var form = document.getElementById('autoSumForm')
    one = form.firstBox.value;
    two = form.secondBox.value;
    three = form.thirdBox.value;
    form.fourthBox.value = ((((two) * (two)) * 0.25) / (((three) / 100) * ((three) / 100)) / ( 1 + (((two) * (two)) * 0.25) / (((three) / 100) * ((three) / 100) * (one))));
}
</script>