preciso de ajuda com meu código

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

Rafael Zendron

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:

           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

Eduardo Chaves
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar