ESerra 744 Denunciar post Postado Maio 14, 2014 Coloca 1.000,00 no valor base e veja o que acontece. Ah sim! A solução é simples, use uma máscara para forçar um determinado formato para o valor, assumindo que o formato será baseado no nosso (centavos separados por vírgula e milhares por ponto), remova os pontos e substitua a vírgula por ponto, pronto. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 14, 2014 Coloca 1.000,00 no valor base e veja o que acontece. No cálculo do valor base, remova o que não for número: valorNovo = valorVelho.replace(/\D/g, '') Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Maio 14, 2014 Deu certo para o valor. .. Alterei a linha: var total = getMoney('vl_pedido')-getMoney('vl_pedido1'); Por: var vl_pedido = document.getElementById('vl_pedido').value.replace(/\D/g, ''); var total = vl_pedido-getMoney('vl_pedido1'); Deu certo para o valor. .. Alterei a linha: var total = getMoney('vl_pedido')-getMoney('vl_pedido1'); Por: var vl_pedido = document.getElementById('vl_pedido').value.replace(/\D/g, ''); var total = vl_pedido-getMoney('vl_pedido1'); E para a atualização das parcelas usei: document.getElementById("qt_parcelas1v2").options.length = 0; document.getElementById("qt_parcelas2v2").options.length = 0; Segue abaixo código completo para quem precisar. <?php $vl_pedido = "2.230,00"; ?> <script type="text/javascript"> String.prototype.formatMoney = function() { var v = this; if(v.indexOf('.') === -1) { v = v.replace(/([\d]+)/, "$1,00"); } v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20"); v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2"); return v; }; function id( el ){ return document.getElementById( el ); } function getMoney( el ){ var money = id( el ).value ? id( el ).value.replace( ',', '.' ) : 0; return parseFloat( money )*100; } function soma() { //valor1 var valor1 = document.getElementById('vl_pedido1').value; valor1 = valor1.replace(/,/gi, "."); var qt_max_parc = 12; var qt_max_vl = 10.00; var qt_parcelas1 = valor1 / qt_max_vl; qt_parcelas1=Math.floor(qt_parcelas1);//arredonda em inteiro para baixo if(qt_parcelas1>12){ qt_parcelas1=12; }else if(qt_parcelas1<1){ qt_parcelas1=1; } document.getElementById("qt_parcelas1v2").options.length = 0; document.getElementById("qt_parcelas2v2").options.length = 0; var texto_option; var valor_formatado; var campo_select=document.getElementById("qt_parcelas1v2"); for(i=1;i<=qt_parcelas1;i++){ option = document.createElement("option"); valor_formatado=valor1/i; valor_formatado=valor_formatado.toFixed(2); valor_formatado=String(valor_formatado); valor_formatado=valor_formatado.replace(".",","); option.text = i+' x de R$ '+(valor_formatado); campo_select.add(option); } //gera resto no VALOR 2 var vl_pedido = document.getElementById('vl_pedido').value.replace(/\D/g, ''); //prepara valor do pedido para cálculo var total = vl_pedido-getMoney('vl_pedido1'); id('vl_pedido2').value = String(total/100).formatMoney(); var valor2 = id('vl_pedido2').value = String(total/100).formatMoney(); valor2 = valor2.replace(/,/gi, "."); var qt_parcelas2 = valor2 / qt_max_vl; qt_parcelas2=Math.floor(qt_parcelas2);//arredonda em inteiro para baixo if(qt_parcelas2>12){ qt_parcelas2=12; }else if(qt_parcelas2<1){ qt_parcelas2=1; } var texto_option2; var valor_formatado2; var campo_select=document.getElementById("qt_parcelas2v2"); for(i=1;i<=qt_parcelas2;i++){ option = document.createElement("option"); valor_formatado2=valor2/i; valor_formatado2=valor_formatado2.toFixed(2); valor_formatado2=String(valor_formatado2); valor_formatado2=valor_formatado2.replace(".",","); option.text = i+' x de R$ '+(valor_formatado2); campo_select.add(option); } } </script> <form name="cartaov2" id="cartaov2" method='post' action=''> <table> <tr> <td> Digitar valor para pagamento no CARTÃO 1<br> Exibir resto no CARTÃO 2<br> Dividir parcelas dos dois valores, sendo parcelas de no mínimo R$ 10,00<br> Máximo de parcelas: 12x </td> </tr> </table> <p> <table> <tr> <td colspan=2><strong>TOTAL DO PEDIDO R$ <INPUT TYPE="text" NAME="vl_pedido" id="vl_pedido" value="<?=$vl_pedido?>" maxlength='16' size='29' readonly></strong></td> </tr> <tr> <td>Valor CARTÃO 1</td> <td> <!-- <INPUT TYPE="text" NAME="vl_pedido1" id="vl_pedido1" maxlength='16' size='29' onchange="soma()">--> <INPUT TYPE="text" NAME="vl_pedido1" id="vl_pedido1" maxlength='16' size='29' onchange="soma();"> </td> <td>pagar em <select class="selecionar_parc" NAME="qt_parcelas1v2" class='input_noticia' id="qt_parcelas1v2"></select> </td> </tr> <tr> <td>Valor CARTÃO 2</td> <td> <INPUT TYPE="text" NAME="vl_pedido2" id="vl_pedido2" maxlength='16' size='29' readonly="readonly"> </td> <td>pagar em <select class="selecionar_parc" NAME="qt_parcelas2v2" class='input_noticia' id="qt_parcelas2v2"></select> </td> </tr> </table> </form> Compartilhar este post Link para o post Compartilhar em outros sites