2011-05-28 141 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