Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu tenho um formulário que tem o seguinte:
<!doctype html>
<html lang="pt_BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>FORMULÁRIO</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/javascript" href="js/bootstrap.min.js">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<h3>Informações Pessoais</h3>
<hr>
<form>
<div class="form-group col-md-4">
<label for="nome">Nome:</label>
<input type="text" name="nome" id="nome" class="form-control text-uppercase" placeholder="Digite seu nome">
</div>
<div class="form-group col-md-2">
<label for="data">Data de Nascimento:</label>
<input type="date" name="data" id="data" class="form-control">
</div>
<div class="form-group col-md-1">
<label for="idade">Idade:</label>
<input type="num" name="idade" id="idade" class="form-control" placeholder="Idade" disabled>
</div>
</form>
</body>
</html>
COMO QUE EU FAÇO TANTO EM PHP QUANTO EM JAVASCRIPT PRA CALCULAR A IDADE DA PESSOA A PARTIR DO MOMENTO QUE ELA ADICIONAR A DATA DE NASCIMENTO DELA NO CAMPO DATA... EU USO BOOTSTRAP...
TO INICIANDO AGORA COM ESSAS LINGUAGENS...
OBRIGADO.
PS.:
O CÓDIGO EM PHP QUE EU USO É ESSE:
<?php
date_default_timezone_set('America/Fortaleza');
function idade($data_nascimento) {
$dn = new DateTime ($data_nascimento);
$agora = new DateTime ();
$idade = $agora->diff($dn);
return $idade->y;
}
echo '<h1>', idade ('1995-05-03'), ' anos de idade</h1>';
?>
BLZ! ELE RETORNA A IDADE... MAS EU QUERO QUE RETORNE QUANDO O USUÁRIO COLOCAR NO CAMPO E NÃO FAÇO A MÍNIMA IDEIA DE COMO FAZER ISSO.>
12 minutos atrás, Johnny Saymon disse:
Você até pode enviar uma solicitação para o PHP retornar o valor desse calculo que você deseja. Mas acho melhor você fazer isso apenas com o Javascript, será mais rápido. Acho melhor você abrir essa questão lá na sala de Javascript e fecha esse tópico com o link pra lá.
BEM, EU ABRI UM TÓPICO LÁ NO JAVASCRIPT, JÁ ATÉ TENHO A RESPOSTA, INCLUSIVE NÃO SEI NEM COMO QUE FECHA O TÓPICO KKKK...
MAS O PORÉM, É QUE COM JAVASCRIPT TEM QUE SER TEMPORÁRIO, POIS O MEU MOTIVO DE USAR O PHP É QUE O USUÁRIO PODE DESATIVAR FUNÇÕES DE JAVASCRIPT E NÃO RODÁ-LO, DAÍ UM PROBLEMA PRA MIM, POIS VOU TER UM FORMULÁRIO ENORME! AÍ VOU USAR FUNÇÕES DE PRA FAZER ISSO... MUITAS COISAS NO FORM VAI SER USADA PHP, COM JAVASCRIPT O FORM PODERIA SER FACILMENTE BURLADO...
NO MEU CASO EU VOU USAR O ANGULAR 2 PRA FAZER ALGUMAS VALIDAÇÕES.
SÓ NÃO SEI COMO QUE EU FAÇO COM PHP...
NO ANGULAR EU JÁ ESTUDEI A CERCA DISSO FAZ TEMPO.
Com o PHP você não conseguirá calcular o valor assim que for digitado no campo, apenas após a submissão do formulário, pois o PHP só trabalha no lado servidor, e não no navegador, não tem como o PHP saber de um evento que acontece no navegador, a menos que o Javascript comunique isso para ele, mas como você pretender dá suporte a utilização sem javascript uma saída que pensei é você colocar um botão "calcular idade" que deve ser acionado após a digitação do usuário. Aí você receberá a data de nascimento e faz o calculo e exibe a página novamente já com os dados preenchidos e com a idade calculada.
>
1 minuto atrás, Johnny Saymon disse:
Com o PHP você não conseguirá calcular o valor assim que for digitado no campo, apenas após a submissão do formulário, pois o PHP só trabalha no lado servidor, e não no navegador, não tem como o PHP saber de um evento que acontece no navegador, a menos que o Javascript comunique isso para ele, mas como você pretender dá suporte a utilização sem javascript uma saída que pensei é você colocar um botão "calcular idade" que deve ser acionado após a digitação do usuário. Aí você receberá a data de nascimento e faz o calculo e exibe a página novamente já com os dados preenchidos e com a idade calculada.
Entendi. Realmente, o php é do lado do servidor, esqueci esse lado. Então a priori eu vou ficar com o javascript, depois vou migrar pro angular. Aí sim resolverá meu problema. Vlw irmão.
PODE FECHAR O TÓPICO.
Você até pode enviar uma solicitação para o PHP retornar o valor desse calculo que você deseja. Mas acho melhor você fazer isso apenas com o Javascript, será mais rápido. Acho melhor você abrir essa questão lá na sala de Javascript e fecha esse tópico com o link pra lá.