2014-09-13 65 views
0

我有一個網頁http://www.galileomovement.com.au/tshirt_order2.php,它有一個表格,可以根據用戶輸入計算訂單總額,並顯示總金額和捐款總額。價格內含10美元的捐款,但我希望買方能夠改變這一數額。如何用計算來替換表單輸入字段?

這一切都正常工作,除非買家輸入捐款金額時沒有任何反應。相關的表單字段有:

T-shirts total: $<input type="text" name="shirtsTotal" id="shirtsTotal" size="24" readonly class="extension" /><br /> 
Donation total: $<input type="text" name="donationTotal" id="donationTotal" size="6" readonly class="extension" /><br /> 
<input type="text" name="grandTotal" id="grandTotal" size="24" readonly class="extension" style="font-weight:bold;" /><br /> 
Change total donation to: $<input type="text" onkeyup="calctotal(this.form);" name="optionalDonation" id="changeDonation" size="7" /> 

在tshirt_total3.js我:

// Get the total donation value 
    var changeDonation = document.getElementById('changeDonation'); 
    if (changeDonation.value > 0){ 
     donationTotal = changeDonation.value; 
    } 
    else { 
     var donation = 10; 
     if(document.getElementById('donation_false').checked) { 
      donation = 0; 
     } 
     for (i = 1; i <= 10; i++) { 
      quantity = 'quantity' + i; 
      var quantity = document.getElementById(quantity); 
      donationTotal += quantity.value * donation; 
     } 
    } 
    // end of Get the total donation value 

任何人都可以看到我在哪裏呢?我花了數小時尋找答案。

回答

1

剛纔檢查您的網站,我注意到,有行號60在tshirt_total3.js不確定變量的一個錯誤,當我鍵入捐贈輸入框的東西,可能的原因是你的代碼的其他部分並沒有執行的哪個來

+0

第60行是:form.donationTotal.value = donationTotal.toFixed(2);並donationTotal被宣佈在第21行 – 2014-09-13 07:48:43

+0

是的,你正在計算你的捐贈價值在第21行,但你是分配值在該行在線號碼60 form.donationTotal.value = donationTotal.toFixed(2);這是未定義的 – 2014-09-13 14:52:56

+0

和我認爲你的問題是與toFixed(2)函數,這是未來定義 – 2014-09-13 15:04:59