如何使用javascript计算html表单的活动总数
How to calculate active total using javascript for html form
我有一个html表单,我想在表单的底部生成一个运行总数。我也想做一些其他简单的计算,但我无法找到任何关于做简单的计算使用javascript。我不希望有人为我这样做,我只是希望有人指出我在正确的方向aka什么如何创建一个函数,以多个数量乘以价格,并添加多于一个创建一个总数。
粗糙的例子:
<input type="text" name="qty1" onchange=""> <input type="text" name="price1" onchange="something">
<input type="text" name="qty2" onchange=""> <input type="text" name="price2" onchange="something">
,总和是这样的
=(qty1*price1)+(qty2*price2)
等,我想把这个数字在我的sql数据库当提交
我希望这不是很难解释。
我还想跳过没有条目的字段。
如果你想使用jQuery,可以这样做:
HTML:<div>
<input type="input" class="qty" />
<input type="input" class="price" />
</div>
<div>
<input type="input" class="qty" />
<input type="input" class="price" />
</div>
<div>
<input type="input" class="qty" />
<input type="input" class="price" />
</div>
Total: <span id="total"></span>
JavaScript: jQuery(function($) {
$(".qty, .price").change(function() {
var total = 0;
$(".qty").each(function() {
var self = $(this),
price = self.next(".price"),
subtotal = parseInt(self.val(), 10) * parseFloat(price.val(), 10);
total += (subtotal || 0);
});
$("#total").text(total);
});
});
基本上,每当价格或数量发生变化时,您都要列举输入的每个数量。您可以通过查找price类的下一个兄弟来获得price值(假设price字段位于quantity字段之后,并且在文档中处于相同的级别)。然后解析它们的值——parseInt()表示数量,parseFloat表示价格。例如,10参数是强制基数以10为基数,因为js已知会"猜测"并接受十六进制值。如果由于值不是数字而无法进行计算,则小计将为NaN。我"或"它与0,所以我不试图将NaN添加到总数中。最后,我将结果放入total字段。
你说你想把总数存到某个地方。您需要使用PHP在服务器上完成此操作,而不是从客户端发布值。客户端发布的任何值,无论是否为隐藏字段,都可以被客户端欺骗。你不能相信它。因此,在服务器上根据发布的字段计算它。
jsfiddle:
http://jsfiddle.net/nCub9/这是我用来动态计算的。答案也是正确的,但对我来说,这对我简单的头脑来说太复杂了。感谢InfinitiesLoop和其他所有人的输入
<html>
<head>
<script>
function calculate(){
if(isNaN(document.formname.qty.value) || document.formname.qty.value==""){
var text1 = 0;
}else{
var text1 = parseInt(document.formname.qty.value);
}
if(isNaN(document.formname.Cost.value) || document.formname.Cost.value==""){
var text2 = 0;
}else{
var text2 = parseFloat(document.formname.Cost.value);
}
document.formname.textbox5.value = (text1*text2);
}
</script>
</head>
<body>
<form name="formname">
<input type="text" name="qty" onblur="calculate()"<br/>
<input type="text" name="Cost" onblur="calculate()"<br/>
<input type="text" name="textbox5">
</form>
</body>
</html>
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- PHP-每天只有2小时的活动联系表单
- Javascript:在表单中输入数据时,提交按钮不处于活动状态
- 如何强制输入表单中的活动下一个输入字段
- 检查是否有任何输入聚焦或处于活动状态,而不是在表单中
- 覆盖Magento中的默认数据表单提交JS活动
- Jquery Mobile-如何在不使用表单id的情况下获得活动页面的表单元素
- 内联活动Javascript表单验证
- 如何使用javascript计算html表单的活动总数
- 在填写表单时将按钮设置为活动(角度)
- 在活动Tab ASPX视图中提交表单
- 如何提交活动选项卡表单
- 减慢(或停止)我的.js表单上的垃圾邮件或bot活动的最佳方法是什么?