Javascript 通过js使用金额和折扣计算总额?
我有一些文本框。我的Html代码是:Javascript 通过js使用金额和折扣计算总额?,javascript,php,Javascript,Php,我有一些文本框。我的Html代码是: <input type="text" id="amt_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]"> <input type="text" id="dis_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]"> <input t
<input type="text" id="amt_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]">
<input type="text" id="dis_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]">
<input type="text" id="total_5" style="width:50px" name="data[Fee][fee_to]">
<input type="text" id="amt_6" onkeyup="calculateTotal(6);" style="width:50px" name="data[Fee][fee_to]">
<input type="text" id="dis_6" onkeyup="calculateTotal(6);" style="width:50px" name="data[Fee][fee_to]">
<input type="text" id="total_6" style="width:50px" name="data[Fee][fee_to]">
Total Fees Amount
<span id="Fees_amt" style="margin-left:20px;"></span>
费用总额
我的js代码是:
<script>
function calculateTotal(pid){
//alert($id_particular);
var amt=document.getElementById('amt_'+pid).value;
var dis=document.getElementById('dis_'+pid).value;
if(amt != "" && dis != ""){
var total = (amt-((dis*amt)/100));
}
else if(amt != "" && dis == ""){
var total = amt;
}
else{
var total = "";
}
document.getElementById('total_'+pid).value=total;
}
</script>
函数计算器总计(pid){
//警报($id_-special);
var amt=document.getElementById('amt_'+pid).value;
var dis=document.getElementById('dis_'+pid).value;
如果(金额为“”&&dis!=“”){
风险价值总额=(金额-((存款*金额)/100));
}
否则,如果(金额!=“”&dis=“”){
var总额=金额;
}
否则{
var total=“”;
}
document.getElementById('total_'+pid)。value=total;
}
上述代码的基本工作原理如下:
从<代码>文本框(金额5,金额6)中获取金额值,从<代码>文本框(金额5,金额6)中获取折扣值,计算总额并通过js填写<代码>文本框(金额5,金额6)
现在我想做的是:
无论是total\u 6
还是total\u 5
中的总数,都要将它们相加,并用id费用金额
这应该通过js完成,增强我的js代码,而不刷新页面
请提供帮助。在现有JavaScript代码中,您可以添加如下内容:
document.getElementById("Fees_amt").appendChild(document.createTextNode('' + total));
另一方面,您当前的代码并不出色,因为每当有人在单个输入字段中键入字符时,整个计算函数都会运行。当代码运行时,我建议添加一个按钮,以便用户在输入字段中输入值后单击。虽然需要更多的用户输入,但我认为这是一种更干净的代码组织方式
根据进一步澄清进行编辑
如果您想得到total_6
和total_5
的总和,最简单的方法是(在保持当前JavaScript结构的同时,将保持两个全局JavaScript变量中的值。这将如下所示:
<script>
var total5 = 0,
total6 = 0;
function calculateTotal(pid){
var amt=document.getElementById('amt_'+pid).value;
var dis=document.getElementById('dis_'+pid).value;
if(amt != "" && dis != ""){
var total = (amt-((dis*amt)/100));
}
else if(amt != "" && dis == ""){
var total = amt;
}
else{
var total = "";
}
document.getElementById('total_'+pid).value=total;
if(pid==5){
total5 = total;
} else{
total6 = total
}
document.getElementById("Fees_amt").appendChild(document.createTextNode(total6 + total5));
}
var total5=0,
总数6=0;
函数计算器总计(pid){
var amt=document.getElementById('amt_'+pid).value;
var dis=document.getElementById('dis_'+pid).value;
如果(金额为“”&&dis!=“”){
风险价值总额=(金额-((存款*金额)/100));
}
否则,如果(金额!=“”&dis=“”){
var总额=金额;
}
否则{
var total=“”;
}
document.getElementById('total_'+pid)。value=total;
如果(pid==5){
total5=总计;
}否则{
总计6=总计
}
document.getElementById(“费用金额”).appendChild(document.createTextNode(total6+total5));
}
虽然这应该行得通,但我强烈建议您重新思考处理此问题的方式。您的答案是将总数连接起来,而不是添加它只是为了澄清,您到底想添加什么?
total_6
和total_5
中的值?您已经设置了total_6
或total_5的值使用您提供的代码将代码>设置为total
。因此,如果您将跨度值设置为total
,这将自动保持不变。