带有2个参数的Javascript函数

时间:2011-06-05 18:30:31

标签: javascript

我需要创建一个包含2个参数(price1price2)的函数,这些参数应该一起添加,并且在将Vat添加到文本字段后,结果将显示在文本字段中

总体而言,我需要有3个文本字段: price1 price2 结果。此外,按计算按钮后,应计算结果字段。

到目前为止,我已经提出了document.write的返回函数,但它显然没有显示任何文本字段,如下所示:

function getTotalPrice(price1,price2,Vat)
{
  var sum=price1+priceb;
  var Vat=20;
  return ((sum*Vat)*100)/100;
}
document.write(getTotalPrice(4,3));

我不知道如何创建可以计算Vat的按钮并将其显示在第三个文本框中。

3 个答案:

答案 0 :(得分:3)

使用输入标记创建按钮。做你想做的事的一个例子:

<input type="text" id="price1">
<input type="text" id="price2">
<input type="text" id="results">
<input type="button" value="Calculate" onclick="calculateResults()">

<script type="text/javascript">
function calculateResults() {
    var price1Box = document.getElementById('price1');
    var price2Box = document.getElementById('price2');
    var resultsBox = document.getElementById('results');
    resultsBox.value = getTotalPrice(price1Box.value, price2Box.value);
}
</script>

有更简洁的方法可以做到这一点,但这是最实用和最简单的方法。如果你想让getTotalPrice工作,你需要Bryan发布的修补程序。

答案 1 :(得分:1)

的问题:

  1. Vat未被用作参数,即使使用了它,也会在代码中重新初始化并赋值为20.
  2. priceb是一个错字。
  3. 除此之外,代码似乎没有任何明显的问题。

    function getTotalPrice(price1, price2, vat) {
      vat = (vat === undefined? 20 : vat); // give vat a default value if empty
      return (price1 + price2) * vat;
    }
    
    document.write(getTotalPrice(4, 3));
    

    编辑:根据下面的评论,这是真的,我想我应该继续并简化这里的数学运算。如果提问者有一个不同的等式,他应该解释一下。

    修改 (vat === undefined?20:vat)是正确的,产生 undefined 以外的任何值,默认值为20。 (vat === undefined?vat:20)只会产生 undefined 20

答案 2 :(得分:0)

这应该做你想要的事情:

<script type="text/javascript">
  function getTotalPrice(price1,price2)
  {
    var vat = 20;
    return (((price1+price2) * vat) * 100) / 100;
  }

  function calculate()
  {
    var result = document.getElementById('result');
    result.value = getTotalPrice(document.getElementById('price1').value, document.getElementById('price2').value);
  }
</script>

<form>
  <input type="text" id="price1" />
  <input type="text" id="price2" />
  <input type="text" id="result" />
  <input type="button" value="Calculate" onclick="calculate()" />
</form>