Fórum preciso de ajuda com meu código #583135
30/06/2017
0
Gostaria de saber se no codigo abaixo é possivel fazer com que a combobox select retorne um valor em dinheiro para o campo individual utilizando javascript
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title> Retenção </title>
<script language="javascript">
//função exibe data de hoje no campo cancelamento
var dia, mes,ano;
function Data(){
data = new Date();
dia = data.getDate();
mes = data.getMonth()+1;
ano = data.getFullYear();
if (dia <10){
dia ='0'+dia;
}
if (mes <10){
mes ='0'+mes;
}
dataCompleta = ano+'-'+mes+'-'+dia;
return dataCompleta;
}
window.onload = function(){
//formato para calculo
document.getElementById("cancelamento").value = Data();
//formato para visualização
document.getElementById("visualiza").value = dia+'/'+mes+'/'+ano;;
}
/*função calcula a data com base nos inputs adesão e cancelamento e deve retornar a diverença entre eles em meses*/
function calculaData(){
var adesao = new Date (document.retencao.adesao.value);
var cancelamento = new Date (document.retencao.cancelamento.value);
var timeDiff = Math.abs(cancelamento.getTime() - adesao.getTime());
//retorno em dias
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24 * 30));
document.getElementById("tempo").value = diffDays;
}
/*função calcula a data com base nos inputs adesão e cancelamento e deve retornar a diverença entre eles em meses*/
function calculaData(){
var adesao = new Date (document.retencao.adesao.value);
var cancelamento = new Date (document.retencao.cancelamento.value);
var timeDiff = Math.abs(cancelamento.getTime() - adesao.getTime());
//retorno em dias
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24 * 30));
document.getElementById("tempo").value = diffDays;
}
function calculaParcela(){
var individual = parseFloat(document.retencao.individual.value);
var dependente = parseFloat(document.retencao.dependente.value);
var parcela = individual * dependente;
document.getElementById("parcela").value = parcela.toFixed(2) ;
}
function calculaInvestimento(){
var vparcela = parseFloat(document.retencao.parcela.value);
var tempo = parseFloat(document.getElementById("tempo").value);
var investimento = vparcela * tempo;
document.getElementById("investimento").value = investimento.toFixed(2) ;
}
</script>
</head>
<body>
<form name="retencao">
<fieldset>
<legend >Calculo de Investimento</legend>
<label>Adesão</label>
<input type="date" id="adesao" name="adesao" required="required" onchange="calculaData()">
<!--pega a data de adesão do beneficiario-->
<label>Cancelamento</label>
<!--data do cancelamento simples visualizaçao-->
<input style="display:none" type="text" id="cancelamento" name="cancelamento" onload="calculaData()">
<!--data de cancelamento do beneficiario pega a data atual-->
<input type="text" id="visualiza" name="visualiza" readonly="readonly" size="8">
<label>Planos</label>
<select id="seletor" required="required" name="seletor">
<!--Para o seletor de planos pensei em um imput select, com a seleção do plano por esse imput preciso
que o valor seja retornado no imput individual-->
<option selected="selected" value="">Selecione o plano</option>
<option value="29.90">Fundamental</option>
</select>
<label>Dependentes</label>
<!--Aqui sera informado a quantidade de beneficiarios para calculo no valor da parcela-->
<input type="number" value="1" min="1" max="10" id="depedente" name="dependente" required="required" onchange="calculaParcela()">
<br>
<label>Tempo de plano</label>
<!--Este imput deve receber o resultado de uma conta dos campos adesão e cancelamento da seguinte
forma =cancelmamento - adesão e retornar a quantidade de meses que o beneficiario permaneceu com o
plano -->
<input type="text" name="tempo" id="tempo" size="10"readonly="readonly" >
<label>Individual</label>
<!--Recebe valor artibuido ao select com o valor do plano-->
<input type="text" id="individual" name="individual" size="10" oninput="calculaParcela()" >
<label>Parcela</label>
<!--Parcela recebe a quantidade de dependentes vezes o valor individual-->
<input type="text" name="parcela" id="parcela" size="10" readonly="readonly" >
<label>Investimento</label>
<!--Investimento deve mutiplicar a quantidade de meses vezes o valor da parcela para retorno do valor
investido durante o tempo que o beneficiario permaneceu com o plano-->
<input type="text" name="investimento" id="investimento" readonly="readonly" size="10">
<br>
<input type="button" value="calcular" onclick="calculaInvestimento()">
</fieldset>
</form>
</body>
</html>Rafael Zendron
Curtir tópico
+ 0
Responder
Post mais votado
09/08/2017
Olá Rafael, é possível sim, você pode alterar a sua função calculaParcela e tentar fazer da seguinte maneira:
espero que te ajude,
um abraço
function calculaParcela(){
var individual = parseFloat(document.retencao.individual.value);
var dependente = parseFloat(document.retencao.dependente.value);
var parcela = individual * dependente;
parcela = parcela.toFixed(2);
document.getElementById("parcela").value = parcela ;
document.getElementById("individual").value = parcela;
}
espero que te ajude,
um abraço
Eduardo Chaves
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)