How could you create a javascript function that receives data from this html script? informed and age (in years and months)

Asked

Viewed 32 times

0

based on that script:

<h2>Qual sua data de nascimento?</h2>
<input type="text" idade="Idade">
<input type="submit" value="Submit Idade">

I have this function, I don’t know if it’s right and I can’t link

function idade(ano_aniversario, mes_aniversario, dia_aniversario) {
    var d = new Date,
        ano_atual = d.getFullYear(),
        mes_atual = d.getMonth() + 1,
        dia_atual = d.getDate(),

        ano_aniversario = +ano_aniversario,
        mes_aniversario = +mes_aniversario,
        dia_aniversario = +dia_aniversario,

        quantos_anos = ano_atual - ano_aniversario;

    if (mes_atual < mes_aniversario || mes_atual == mes_aniversario && dia_atual < dia_aniversario) {
        quantos_anos--;
    }

    return quantos_anos < 0 ? 0 : quantos_anos;
}

1 answer

0

Good morning. The solution.

<h2>Qual sua data de nascimento?</h2>

    <input type="text" id="dia" placeholder="Ano"><br><br>
    <input type="text" id="mes" placeholder="dia"><br><br>
    <input type="text" id="ano" placeholder="mes"><br><br>
    <input type="submit" value="Submit Idade" id="submit">

    <p id="msg"></p>


    <script>

        var ano = document.querySelector('#dia');
        var dia = document.querySelector('#mes');
        var mes = document.querySelector('#ano');

        var msg = document.querySelector('#msg')

        document.querySelector('#submit').addEventListener('click',(e) => {

            msg.textContent = "Voce tem " + idade(ano.value,dia.value,mes.value) + ' anos';

        });

        function idade(ano_aniversario, mes_aniversario, dia_aniversario) {

            var d = new Date,
                ano_atual = d.getFullYear(),
                mes_atual = d.getMonth() + 1,
                dia_atual = d.getDate(),

                ano_aniversario = +ano_aniversario,
                mes_aniversario = +mes_aniversario,
                dia_aniversario = +dia_aniversario,

                quantos_anos = ano_atual - ano_aniversario;

            if (mes_atual < mes_aniversario || mes_atual == mes_aniversario && dia_atual < dia_aniversario) {
                quantos_anos--;
            }

            return quantos_anos < 0 ? 0 : quantos_anos;
        }

    </script>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.