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

Calcular A Idade A Partir Da Data Digitida Num Input


Andreia Regina

Pergunta

Olá Pessoal!

Sempre estou por aqui consultando os scripts, meus conhecimentos ainda são poucos então quando posto é mais para pedir ajuda que ajudar, vou procurar mudar isso ;)

Estou criando um formulário onde eu digito a data num campo e preciso que a idade seja exibida no campo seguinte (idade).

Preferia fazer em php devido a confiança na linguagem pois se fizer em javascript pode haver erros grandes.

Vi um script mas não consegui implementar.

meu form

      <label class="data" for="aluno_nasc">Data de Nascimento <strong title="Requirido" class="requirido">*</strong> 
        <input type="text" name="aluno_nasc" id="aluno_nasc" size="15" tabindex="2" title="Data de Nascimento da criança" onkeypress="return txtBoxFormat(this.form, this.name, '99/99/9999', event);" onkeyup="return autoTab(this, 10, event);"/>
      </label>
      <label class="data" for="aluno_idade">Idade<strong title="Requirido" class="requirido">*</strong> <br/>
        <input type="text" name="aluno_idade" id="aluno_idade" tabindex="3" title="Idade"  />
      </label>
função
function Calcular_Idade($nasc){
  $sDataI = explode("/", $sDataInicial);
  $nasc_dia = $sDataI[2];
  $nasc_mes = $sDataI[1];
  $nasc_ano = $sDataI[0];
  
  $ano = date("Y");
  $dia = date("d");
  $mês = date("m");
  $idade = $ano - $nasc_ano;

  if($dia >= $nasc_dia && $mês >= $nasc_mes){
    return $idade;
  }else{
    $idade = $idade - 1;
    return $idade;
   }
}

Agradeço a atenção.

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

<html>
<body>
<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
$data = $_POST['data_nasc'];
$ano = substr($data,6,4);
$idade = 2007 - $ano;
}
?>
<form name="formulario" action="testa_idade.php" method="post">
<input type="text" name="data_nasc">
<input type="text" name="recebe_data" value = "<?php if($_SERVER['REQUEST_METHOD']=='POST')echo $idade;?>">
<input type="submit" value="Enviar">
</form>
</body>
</html>
Coloque o campo "recebe_data" como readonly para que o usuário não altere o valor do campo. Mude para ...
<input type="text" readonly="true" name="recebe_data" value = "<?php if($_SERVER['REQUEST_METHOD']=='POST')echo $idade;?>">

Link para o comentário
Compartilhar em outros sites

  • 0

<html>

<head>

<title>

</title>

<script>

function idade( data )

{

data = data.split("/");

dia = data[0];

mês = data[1];

ano = data[2];

anoAtual = new Date();

ano = parseInt( ano );

anoAtual = parseInt( anoAtual.getYear());

idade = ( anoAtual - ano );

document.form.txtIdade.value = idade;

}

</script>

</head>

<body>

<form name="form">

<input type="text" name="txtData" onblur="java script:idade(this.value);"><br>

<input type="text" name="txtIdade"><br>

</form>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Ops, desculpa esqueci de citar, é este aqui:

<html>

<head>

<title>

</title>

<script>

function idade( data )

{

data = data.split("/");

dia = data[0];

mês = data[1];

ano = data[2];

anoAtual = new Date();

ano = parseInt( ano );

anoAtual = parseInt( anoAtual.getYear());

idade = ( anoAtual - ano );

document.form.txtIdade.value = idade;

}

</script>

</head>

<body>

<form name="form">

<input type="text" name="txtData" onblur="java script:idade(this.value);"><br>

<input type="text" name="txtIdade"><br>

</form>

</body>

</html>

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,3k
×
×
  • Criar Novo...