Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DannyND

Dividir parcelas para pagamento

Recommended Posts

 

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

 

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.