2011-05-28 189 views
1

我有用於動態添加或刪除的項目,數量,價格字段的表單。現在我想將小計和總計添加到表單中。到目前爲止,我已經能夠使用下面的代碼,但這只是第一行的小計,而不是其餘的行,而且總計也是必需的。如何計算小計字段以計算總計?

的Javascript:

function totalprice() 
{ 
    a = document.form1.quantity.value 
    b = document.form1.price.value 

    c = a * b 

    document.form1.total.value = c 
} 

HTML:

<form action="here.php" method="post" name="form1"> 
    Quantity: <input name="quantity" size="10">Price: <input name="price" size="10" onblur="totalprice();"><br> 
    Total: <input name="total" size="10" readonly=true><br> 
    <input type="submit" value="Submit"> 
</form> 
+0

你問的是如何使你的總功能或你的問題在標題? – Vache 2011-05-28 10:59:09

+0

不要忘記在JavaScript中每個語句的末尾添加一個分號,否則在某些時候你肯定會遇到問題。 – 2011-05-28 11:44:24

+0

@Vache你好,我嘗試發佈這個,但錯誤的主題是從以前的草案。對不起。我正在尋找總計沒有刷新的所有行的小計(這是根據用戶的輸入動態填充) – mmdel 2011-05-28 14:46:12

回答

1

假設你有沒有其他形式:

function SetTotals() 
{ 

// Overall total. 
var total = 0; 

// Get all forms for individual items. 
var formArray = document.getElementsByTagName("form"); 

// Loop all forms setting the total foreach item and incrementing the total value. 
for (var i in formArray) 
{ 
var form = formArray[i]; 

// Set value total value for this form. 
form.total.value = form.quantity.value * form.price.value; 

// Increment total for all forms. 
total += form.total.value; 
} 

// All forms looped that total obtained, set it on the total value element. 
document.getElementById("<The total element id>").value = total; 
} 

像往常一樣與我的答案,我還沒有測試,但原則是正確的。如果你在文檔中有其他類型的表單,那麼應該做一個單獨的檢查是否正確的表單類型(可能無論如何都應該這樣做)。

+0

@ Vinnyq12嗨。我正在使用以下代碼的小計。 函數totalprice() len = document.forms [「main」] [「qty []」]。length; (len == undefined)var a = document.forms [「main」] [「qty []」]。value; var b = document.forms [「main」] [「price []」]。value; var c = a * b; var d = c.toFixed(2); document.forms [「main」] [「total []」]。value = d; }否則{ 爲 (H = 0; H mmdel 2011-05-28 14:48:23

+0

@mmdel如果您還發布了完整形式的樣本,這個js函數被用來對付我將能夠幫助更好。 – Vinnyq12 2011-05-28 17:01:40

+0

@ Vinnyq21 @Vache @Andy E 我發佈了我已經走了多遠的鏈接。 PL。幫助我完成總場。另外,建議我如果我做錯了什麼,或者可以以更好的方式做同樣的事情。 http://jsfiddle.net/mmarwaha/fdWQa/5/ – mmdel 2011-05-29 07:21:39