Ir para conteúdo
Fórum Script Brasil
  • 0

Calcular Idade


Raposo

Pergunta

Bom dia

Tenho um coódigo para calcular a idade de uma pessoa através da data de aniversário, porém este é um prompt e eu gostaria de fazer a mesma coisa só que em um form, onde eu teria um campo "data de nascimento" e outro campo "idade". Sendo que assim que eu acabasse de preencher a data de nascimento, automaticamento no campo idade aparece, qtos anos o usuário tem.

Minha dúvida está em reformular este script para a mesma passar as informações ?

Segue o código :

<script language="JavaScript">

dia=prompt("Digite o dia que você nasceu:","");

while(dia==null || dia>31 || dia <1){

dia=prompt("Digite o dia que você nasceu:","");

}

mes=prompt("Digite o mes que você nasceu:","");

while(mes==null || mes>12 || mes <1){

mes=prompt("Digite o mes que você nasceu:","");

}

ano=prompt("Digite o ano que você nasceu:","");

while(ano==null){

ano=prompt("Digite o ano que você nasceu:","");

}

hoje= new Date();

dia_hoje=hoje.getDate();

mes_hoje=hoje.getMonth()+1;

ano_hoje=hoje.getYear();

diferenca_dia=dia_hoje-dia;

diferenca_mes=mes_hoje-mes;

diferenca_ano=ano_hoje-ano;

//alert(diferenca_dia+" "+diferenca_mes+" Ano = "+diferenca_ano+" ")

if(diferenca_dia<0){

diferenca_dia=30+diferenca_dia;

diferenca_mes--;

} else if(diferenca_mes<0) {

diferenca_mes=12+diferenca_mes;

diferenca_ano--;

} else {

alert("Esta data ainda não chegou!!!")

}

alert("Voce tem "+diferenca_ano+" anos "+diferenca_mes+" meses "+diferenca_dia+" dias");

</script>

<form name="form1" method="post" action="">

<input name="data" type="text" id="data">

<input name="idade" type="text" id="idade">

</form>

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Orlando obrigado pela resposta....

Mais o que eu necessito mesmo é o seguinte :

Eu tenho um form no qual tenho dois campos "data de nascimento" e "idade"

e o que estou tentando fazer é quando o usuário coloca sua a data de nascimento automaticamente aparece quantos anos ele possui em idade.

Eu tenho este Script que enviei que ele abre um prompt, porém não quero que ele abra o prompt e sim que ele me passe os valores nos campos.....

Tentei algumas formas porém não estou conseguindo transformar o form.

Vlw !

Link para o comentário
Compartilhar em outros sites

  • 0

Cara te aconselho a fazer isso pegando a data do servidor com alguma linguagem dinâmica porque se o cara tiver com o relógio errado a tua verificação estará errada.

Quanto a tua dúvida tu pode tirar a parte q tem os prompts e criar uma nova data apartir do q o cara informou na tela. Dae você criar as variaveis dia mes ano. Tenta fazer qualquer coisa posta ae...

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpe minha ignorancia, mais não seria masi facil ele faze function???

Com certeza seria mais fácil ele fazer uma function e chama-la no onclick de um botão, acredito até q para ele fazer isso ele vai ter q criar uma function do contrário não funcionará, mas acredito q ele já tenha resolvido o problema pois não postou mais...

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

como prometido! ta ae...

desculpa a demora... mas é que ontem eu tava realmente atolado de coisas... e eu n tive tempo de responder no trab ontem... e em casa to sem internet!!!

seu code ta ae...:

<html>
	<script language="javascript">
	function Calcula()
	{
  data = new Date();
  dia = data.getUTCDay(); if(dia < 10){dia = "0" + dia;}
  mes = data.getUTCMonth(); if(mes < 10){mes = "0" + mes;}
  ano = data.getUTCFullYear();
  
  AnoHoje = ano;
  AnodataNascimento = txtAno.value;

  Idade = parseInt(AnoHoje) - parseInt(AnodataNascimento);
  
  if(txtMes.value >= mes)
  {
  	if(txtDia.value >= dia)
  	{
    Idade--;
  	}
  }

  //alert(Idade);
  txtIdade.value = Idade;
	}
	</script>
	<body>
  Data Nascimento: <input type="text" ID="txtDia" size="2" maxlength="2">/<input type="text" ID="txtMes" size="2" maxlength="2">/<input type="text" ID="txtAno" size="4" maxlength="4">
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Idade: <input type="text" readonly id="txtIdade">
  <br><br>
  <input type="button" value="Calcula" onclick="Calcula();">
	</body>
</html>

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Ai galera era exatamente isso que eu precisa, eu acabei conseguindo

alterando meu code.

O que eu to atrás agora é como eu não utilizo o botão (onclick), ou seja

ao dar o tab no campo data de nascimeto a idade já é calculada, pois

eu vou enviar isso por e-mail.

Eu estou tentando assim que eu conseguir eu remeto a resposta !

Muito Obrigado a todos pelas respostas !

Abc !!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...