2013-02-25 52 views
1

我一直在嘗試使用用戶在文本框中給出的數字來計算數字。我一直在嘗試使用下面的代碼。但是當我嘗試測試它時,沒有任何反應。有什麼我失蹤?有沒有一種方法可以使印記可變全局?使用文本框計算數字

 <form> 
     <p>How many products do you want 
      ingraved?<input id="imprint_amount" name="imprint_amount" type="text"/> 
     </p> 
     <p>Names to be Imprinted(one per 
      line)<TEXTAREA COLS=25 NAME="imprint_text" ROWS=5 WRAP=HARD style="resize:none;"></textarea> 
     </p> 
     <input onclick="imprint_price" type="button" value="Finish"/> 
     <p id="total_cost"></p> 
    </form> 
    <script type="text/javascript"> 

     function imprint_price() { 
      var imprint_cost, 
       imprint_quality, 
       imprint_total; 
      imprint_cost = 10.99; 
      imprint_quantity = document.getElementById('imprint_amount'); 
      imprint_total = $imprint_cost * parseInt(imprint_quantity, 10); 
      document.getElementById('total_cost') = "$" + imprint_total; 

     } 

感謝, 崔西

+0

imprint_quantity應imprint_text的開始...... – disperse 2013-02-25 21:55:46

+0

你得到一個JavaScript錯誤? – 2013-02-25 21:55:56

回答

1

改變你的JavaScript來:

<script type="text/javascript"> 

    function imprint_price() { 
     var imprint_cost, 
      imprint_quantity, 
      imprint_total; 
     imprint_cost = 10.99; 
     imprint_quantity = document.getElementById('imprint_amount').value; 
     imprint_total = imprint_cost * parseInt(imprint_quantity, 10); 
     document.getElementById('total_cost').innerHTML = imprint_total; 
    } 
</script> 

工作的jsfiddle這裏http://jsfiddle.net/Zt38S/2/

2

您將要使用input elementvalue財產您引用您的變量:

… parseInt(imprint_quantity.value, 10); 

對於任意的HTML元素,你需要使用textContent (或支持舊IE的innerText):

document.getElementById('total_cost').textContent = …; 

如你所做的那樣分配給一個表達式應該引發一個相當準確的異常,請檢查你的瀏覽器的錯誤控制檯。

+0

我不相信這會起作用。 total_cost不是一個文本框,而是一個段落。編輯:nvm,您將'.value'更改爲'.textContent' – Bot 2013-02-25 21:59:24

1

在這一行中,您需要設置元素的innerHTML

document.getElementById('total_cost').innerHTML = "$" + imprint_total; 

這基本上設置<p></p>中的文本是<p>$x.xx</p>

而且也是這條線應該是

imprint_quantity = document.getElementById('imprint_amount').value; 

它檢索從文本框中的值。

此外,在定義變量時,您寫下了「質量」。它應該是

imprint_quantity, 
+0

謝謝,我完全錯過了質量/數量錯字。 – CompyJones 2013-02-26 14:01:32

0

imprint_quantity =的document.getElementById( 'imprint_amount');

=

imprint_quantity =的document.getElementById( 'imprint_amount')值()。

讓我知道是否修復它,這是一個常見的錯誤。