Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigo, estou querendo colocar um valor no campo input text junto com o valor colocado com o cliente.
Por exemplo: No campo o cliente colocar 150, so que quando vou enviar o value ao inves de ir somente "150" queria que fosse + "00".
Pra que isso? O botao do pagseguro tem que enviar o valor junto com os centavos, mas queria que o cliente so coloca-se o valor principal, por exemplo um produto que vai me custar R$ 150,00 o cliente teria que escrever 15000.
Como colocar esse "00" automatico ????
Espero que isso pode ser resolvido com javascript.
Abraços.
Pode ser resolvido com javascript ou com php.
É sempre mais recomendado fazer o tratamento da informação enviada por um usuário no server-side, neste caso, o PHP.
Mas dá pra fazer isso sim.
tem um script em javascript q eu ache na net e fiz algumas adaptações num sei se funciona perfeitamento, pois fiz poucos testes
<script>
function BlockKeybord(){
if((event.keyCode < 48) || (event.keyCode > 57))
event.returnValue = false;
}
function troca(str,strsai,strentra){
while(str.indexOf(strsai)>-1)
str = str.replace(strsai,strentra);
return str;
}
function FormataMoeda(campo,tammax,teclapres,caracter){
if(campo.value.length<campo.maxLength){
if(teclapres == null || teclapres == "undefined")
var tecla = -1;
else
var tecla = teclapres.keyCode;
if(caracter == null || caracter == "undefined")
caracter = ".";
vr = campo.value;
if(caracter != "")
vr = troca(vr,caracter,"");
vr = troca(vr,"/","");
vr = troca(vr,",","");
vr = troca(vr,".","");
tam = vr.length;
if(tecla > 0)
if(tam < tammax && tecla != 8)
tam = vr.length + 1;
if(tecla == 8)
tam = tam - 1;
if(tecla == -1 || tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105)
if(tam <= 2)
campo.value = vr;
if((tam > 2) && (tam <= 5))
campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
if((tam >= 6) && (tam <= 8))
campo.value = vr.substr(0, tam - 5) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
if((tam >= 9) && (tam <= 11))
campo.value = vr.substr(0, tam - 8) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
if((tam >= 12) && (tam <= 14))
campo.value = vr.substr(0, tam - 11) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
if((tam >= 15) && (tam <= 17))
campo.value = vr.substr(0, tam - 14) + caracter + vr.substr(tam - 14, 3) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
}
}
function maskKeyPress(objEvent){
var iKeyCode = objEvent.keyCode;
if(iKeyCode>=48 && iKeyCode<=57)
return true;
return false;
}
</script>
<INPUT TYPE="Text" NAME="texto" SIZE="10" MAXLENGTH="10" onKeydown="FormataMoeda(this,10,event)" onkeypress="return maskKeyPress(event)">Eu copiei o script acima, e não consegui escrever nada dentro do input.. :lol:
segue uma máscara monetária mais simples, com a ER que fiz:
http://forum.imasters.com.br/index.php?/topic/392605-mascara-numerica/page__p__1531437entry1531437
//testando valor....