使用Javascript计算表单字段——结果为NaN

使用Javascript计算表单字段——结果为NaN,javascript,forms,calculator,nan,Javascript,Forms,Calculator,Nan,我创建了一个简短的表单,它应该根据用户输入计算值。我已经算出了大部分,但似乎无法在总计字段中显示结果。相反,我得到了NaN 我正在尝试使用parseInt,但还没有任何运气 以下是我到目前为止的情况: Javascript: var AdPrice = document.getElementsByTagName('input') = 0; var ColorCharge = document.getElementsByTagName('input') = 0; var WebAd =

我创建了一个简短的表单,它应该根据用户输入计算值。我已经算出了大部分,但似乎无法在总计字段中显示结果。相反,我得到了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>           

付款详情
广告费$

彩色电荷+
网络广告+
小计=
首期付款-
总计=

#奉献。付款\
每次付款金额$

按比例/长度
我还有一把小提琴:

开始时除以零(小计)

以及: 这种装订行吗?我想不是。对我来说很陌生


将“getElements”行放在方法中如何?

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


不是针对个人的,但您需要阅读有关如何创建表单的指南,因为这一切都不是它应该做的。您不应该使用getElementsByTagName获取单个输入,因为它获取所有输入标记,而不仅仅是您想要的标记。读一点jQuery会很有用,可以帮助您获得想要计算的表单元素。您需要学习基本的Javascript。什么样的语句是
var AdPrice=document.getElementsByTagName('input')=0应该怎么做?您认为您正在将0分配给什么?您没有注意到Javascript控制台“ReferenceError:分配的左侧不是引用”中的错误吗?谢谢!这就是我要找的。起初,我在寻找不同的方法来做这件事,并试图运用我认为合乎逻辑的方法。正如你从我的代码中可以看出的那样,我对这个相当陌生。我很感谢你抽出时间来看它!!:)我让它工作了!我决定用jQuery重新编写它。你帮我解决了主要问题,那就是如何使用parseFloat。这是小提琴: