如何在Javascript方程中引用表单字段?

时间:2013-05-01 15:33:21

标签: javascript forms

我有这个JavaScript,它会添加一系列数字并创建一个总数。然后从该系列数字中找到最低的数字并从总数中减去它。我希望用户能够输入数值并将该数字作为等式的一部分。首先,我会给你我的代码,然后我会告诉你我曾经尝试过的。

这是执行加法和减法的脚本:

var prices = [];
function remove(arr,itm){
  var indx = arr.indexOf(itm);
  if (indx !== -1){
    arr.splice(indx,1);
  }
}

function calculateSectedDues(checkbox, amount) {
  if (checkbox.checked === true) {
    prices.push(amount);
  } else {
    remove(prices, amount);
  }
  var total = 0;
  for (var i = 0, len = prices.length; i < len; i++)
    total += prices[i];

  var min = prices.slice().sort(function(a,b){return a-b})[0];
  if(typeof min === 'undefined') min = 0;
  var withDiscount = total - min;
  var discountAmount = withDiscount - total;
  document.querySelector("#total").innerHTML = total;
  document.querySelector("#discount").innerHTML = discountAmount;
  document.querySelector("#newTotal").innerHTML = withDiscount;
  document.getElementById("FinalTotal").value = withDiscount;
}

这是我创建的表单字段,我想进入等式:

<input name="yellowtape" type="text" id="yellowtape" style="width:243px;">

我想通过添加:

var withDiscount = total + yellowtape - min ;

它会起作用,但我无法弄明白。我需要在表单字段中添加他们输入的任何数字&#39; yellowtape&#39; to var withDiscount。

2 个答案:

答案 0 :(得分:2)

yellowtape是DOM元素。您需要获取其值并确保它是一个数字:

var yellowtape = parseFloat(document.getElementById('yellowtape').value);
var withDiscount = total + yellowtape - min ;

答案 1 :(得分:0)

如果您首先存储输入值,那么您将使用的是什么:

var yellowtape = document.getElementById('yellowtape').value;
var withDiscount = total + yellowtape - min ;