0

我创建了一个简短的表单,它应该根据用户输入计算值。我已经弄清楚了大部分,但似乎无法让结果显示在总计字段中。相反,我得到了 NaN。

我正在尝试使用 parseInt 但还没有任何运气。

这是我到目前为止所拥有的:

Javascript:

 var AdPrice = document.getElementsByTagName('input') = 0;
  var ColorCharge = document.getElementsByTagName('input') = 0;
  var WebAd = document.getElementsByTagName('input') = 0;
  var AdSubtotal = 0;
  var DownPayment = document.getElementsByTagName('input') = 0;
  var TotalPrice = 0;
  var Payments = document.getElementsByTagName('input') = 0;
  var TotalPayment = 0; 

function updateTotal()
{
  var subtotal = AdPrice + ColorCharge + WebAd;
  var total = subtotal - DownPayment;
  var totalmonthlypayment = total / Payments;

 parseFloat(document.getElementById('AdSubtotal').value = subtotal);
 parseFloat(document.getElementById('TotalPrice').value = total);
 parseFloat(document.getElementById('Payment').value = totalmonthlypayment);


}

的HTML:

<fieldset>
              <legend>Payment Details</legend>

             Ad Charge $

              <input type="text" name="AdPrice" id="AdPrice" class="medium" onChange="updateTotal()" /><br />

              Color Charge +

              <input type="text" name="ColorCharge" id="ColorCharge" class="medium" onChange="updateTotal()" /><br />

              Web Ad +
              <input type="text" name="WebAd" id="WebAd" class="medium" onChange="updateTotal()" /><br />

              Subtotal =

              <input type="text" name="AdSubtotal" id="AdSubtotal" readonly class="medium"  /><br />

           Down Payment -

           <input type="text" name="DownPayment" id="DownPayment" class="medium" onChange="updateTotal()" /><br />

           Total = 
           <input type="text" name="TotalPrice" id="TotalPrice" readonly class="medium"  /><br /><br />



           # Consec. Payments \

             <input type="text" name="Payments" id="Payments" class="medium" onChange="updateTotal" /><br />

            Amt Each Payment $ 

            <input type="text" name="Payment" id="Payment" class="medium" readonly  /><br /><br />

            <input type="checkbox" name="ProratedCheck" id="ProratedCheck" /> <span style="margin-right:10px;">Prorated/Length</span><input type="text" name="ProratedLength" id="ProratedLength" />
</fieldset>           

我也有一个小提琴:

http://jsfiddle.net/kjetterman/eHQV4/10/

4

2 回答 2

1

在开始时除以零(小计)。

并且:这种绑定有效吗?我想不是。对我来说很新......

在方法中放置“getElements”行怎么样?

于 2013-03-26T18:13:47.473 回答
1

您需要处理的 javascript 上有几个错误,正如您应该getElementById用于检索 DOM 元素的问题的评论中所述,您遇到的另一个问题是,您的代码在浏览器收到响应后立即运行此刻可能没有准备好 DOM 工作,所以你所有的引用都返回为 NULL。这是工作版本,当初始值为零时,您仍然需要添加一些验证,这样您就不会因为操作而得到 NaN。

http://jsfiddle.net/Wy7kE/2/

于 2013-03-26T18:40:12.087 回答