Javascript: Calcular Desconto
by Felipe Franco
HTML
<p>Calcular valor do desconto:</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="dir">Campo Valor:</td>
<td><input type="text" name="valor1" id="valor1" onblur="calcValor()" /></td>
</tr>
<tr>
<td class="dir">Valor Total 20%:</td><td><input type="text" name="total20" id="total20" value="0.00" /></td>
</tr>
<tr>
<td class="dir">Valor Total 50%:</td><td><input type="text" name="total50" id="total50" value="0.00" /></td>
<tr>
<tr>
<td class="dir">Valor Total 10%:</td><td><input type="text" name="total10" id="total10" value="0.00" /></td>
</tr>
<tr>
<td class="dir">Valor Total 5.5%:</td><td><input type="text" name="total55" id="total55" value="0.00" /></td>
</tr>
<tr>
<td class="dir">Valor Total 1%:</td><td><input type="text" name="total1" id="total1" value="0.00" /></td>
</tr>
<tr>
<td class="dir">Somatoria:</td><td><input type="text" name="vtotal" id="vtotal" value="0.00" /></td>
</tr>
</table>
CSS
table tr td {
padding: 5px;
}
table tr td.dir {
padding-right: 15px;
text-align: right;
width: 120px;
}
JavaScript
function calcValor(){
// valor lĂquido
var VTOTALLIQUIDO = parseFloat(document.getElementById("valor1").value);
// desconto em porcentagem
var PDESCONTO50 = parseFloat( ( VTOTALLIQUIDO * 50 ) / 100 );
var PDESCONTO20 = parseFloat( ( VTOTALLIQUIDO * 20 ) / 100 );
var PDESCONTO10 = parseFloat( ( VTOTALLIQUIDO * 10 ) / 100 );
var PDESCONTO55 = parseFloat( ( VTOTALLIQUIDO * 5.5 ) / 100 );
var PDESCONTO1 = parseFloat( ( VTOTALLIQUIDO * 1 ) / 100 );
// desconto em valor
var TOTAL50 = parseFloat(VTOTALLIQUIDO) - parseFloat(PDESCONTO50);
var TOTAL20 = parseFloat(VTOTALLIQUIDO) - parseFloat(PDESCONTO20);
var TOTAL10 = parseFloat(VTOTALLIQUIDO) - parseFloat(PDESCONTO10);
var TOTAL55 = parseFloat(VTOTALLIQUIDO) - parseFloat(PDESCONTO55);
var TOTAL1 = parseFloat(VTOTALLIQUIDO) - parseFloat(PDESCONTO1);
var VTOTAL = parseFloat( TOTAL50 + TOTAL20 + TOTAL10 + TOTAL55 + TOTAL1);
//var VTOTAL = parseFloat(VTOTAL);
document.getElementById("total50").value = 'R$ ' + TOTAL50.toFixed(2);
document.getElementById("total20").value = 'R$ ' + TOTAL20.toFixed(2);
document.getElementById("total10").value = 'R$ ' + TOTAL10.toFixed(2);
document.getElementById("total55").value = 'R$ ' + TOTAL55.toFixed(2);
document.getElementById("total1").value = 'R$ ' + TOTAL1.toFixed(2);
document.getElementById("vtotal").value = 'R$ ' + VTOTAL.toFixed(2);
}