Ola pessoal, gostaria de uma ajuda
estou com fazendo um campo monetário, mas preciso multiplicar o valor pro outro. Só que peguei vi um script que achei legal de um colega do forum, que é esse
em js:
/**
* Função para aplicar máscara em campos de texto
* Copyright © 2008, Dirceu Bimonti Ivo - http://www.bimonti.net
* All rights reserved.
* @constructor
*/
/* Version 0.27 */
/**
* Função Principal
* @param w - O elemento que será aplicado (normalmente this).
* @param e - O evento para capturar a tecla e cancelar o backspace.
* @param m - A máscara a ser aplicada.
* @param r - Se a máscara deve ser aplicada da direita para a esquerda. Veja Exemplos.
* @param a -
* @returns null
*/
function maskIt(w,e,m,r,a){
// Cancela se o evento for Backspace
if (!e) var e = window.event
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
// Variáveis da função
var txt = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
var mask = (!r) ? m : m.reverse();
var pre = (a ) ? a.pre : "";
var pos = (a ) ? a.pos : "";
var ret = "";
if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;
// Loop na máscara para aplicar os caracteres
for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
if(mask.charAt(x)!='#'){
ret += mask.charAt(x); x++;
} else{
ret += txt.charAt(y); y++; x++;
}
}
// Retorno da função
ret = (!r) ? ret : ret.reverse()
w.value = pre+ret+pos;
}
// Novo método para o objeto 'String'
String.prototype.reverse = function(){
return this.split('').reverse().join('');
Dae eu tenho a multiplicação que é
<script>
function multiplicacao(){
subtotal = document.multi.sub.value;
ip = 0.03200;
document.multi.total.value = subtotal*ip;
}
function SomenteNumero()
{
if (event.keyCode<48 || event.keyCode>57)
{
return false;
}
}
</script>
e as respostas:
<form name="multi">
<div align="center">
<input type="text" name="sub" OnKeyPress="return SomenteNumero()" onkeyup="maskIt(this,event,'###.###.###,##',true,{pre:'R$',pos:''})">
<br>
<br>
<input type="" name="ipi" value="coeficiente" OnKeyPress="return SomenteNumero()" disabled="disabled">
<br>
<span class="style7">Valor da parcela em 36x</span><br>
<input type="text" name="total" OnKeyPress="return SomenteNumero()">
<br>
<br>
<input type="button" value="calcular" onClick="multiplicacao()">
<input name="Reset" type="reset" onClick="multiplicacao()" value="apagar">
<br>
Só que quando vai multiplicar os campos, não multiplica, aparece umas letras.
Por que isso ocorre? agradeço desde já a ajuda