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.:
EU TENHO ESSE SCRIPT AQUI QUE CALCULA QUASE DO JEITO QUE EU QUERO.... MAS EU TENHO QUE CLICAR NO BOTÃO PRA GERAR A IDADE, E EU QUERO QUE GERE ASSIM QUE O USUÁRIO COLOCAR A DATA.
<script>
function calculateAge(dobString) {
var dob = new Date(dobString);
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var birthdayThisYear = new Date(currentYear, dob.getMonth(), dob.getDate());
var age = currentYear - dob.getFullYear();
if(birthdayThisYear > currentDate) {
age--;
}
return age;
}
function calcular(data) {
var data = document.form.nascimento.value;
var partes = data.split("/");
var junta = partes[2]+"-"+partes[1]+"-"+partes[0];
document.form.idade.value = (calculateAge(junta));
}
</script>
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.<script>
document.getElementById("data").addEventListener('change', function() {
var data = new Date(this.value);
if(isDate_(this.value) && data.getFullYear() > 1900)
document.getElementById("idade").value = calculateAge(this.value);
});
function calculateAge(dobString) {
var dob = new Date(dobString);
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var birthdayThisYear = new Date(currentYear, dob.getMonth(), dob.getDate());
var age = currentYear - dob.getFullYear();
if(birthdayThisYear > currentDate) {
age--;
}
return age;
}
function calcular(data) {
var data = document.form.nascimento.value;
alert(data);
var partes = data.split("/");
var junta = partes[2]+"-"+partes[1]+"-"+partes[0];
document.form.idade.value = (calculateAge(junta));
}
var isDate_ = function(input) {
var status = false;
if (!input || input.length <= 0) {
status = false;
} else {
var result = new Date(input);
if (result == 'Invalid Date') {
status = false;
} else {
status = true;
}
}
return status;
}
</script>>
16 minutos atrás, Eziquiel disse:
<script>
document.getElementById("data").addEventListener('change', function() {
var data = new Date(this.value);
if(isDate_(this.value) && data.getFullYear() > 1900)
document.getElementById("idade").value = calculateAge(this.value);
});
function calculateAge(dobString) {
var dob = new Date(dobString);
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var birthdayThisYear = new Date(currentYear, dob.getMonth(), dob.getDate());
var age = currentYear - dob.getFullYear();
if(birthdayThisYear > currentDate) {
age--;
}
return age;
}
function calcular(data) {
var data = document.form.nascimento.value;
alert(data);
var partes = data.split("/");
var junta = partes[2]+"-"+partes[1]+"-"+partes[0];
document.form.idade.value = (calculateAge(junta));
}
var isDate_ = function(input) {
var status = false;
if (!input || input.length <= 0) {
status = false;
} else {
var result = new Date(input);
if (result == 'Invalid Date') {
status = false;
} else {
status = true;
}
}
return status;
}
</script>
MEU DEUS, MANO! VLW! MUITO OBRIGADO. AGORA COMO EU EU FECHO O TÓPICO? HAHAHAHAIsso eu não sei não! rsrsrs...
Espero que alguém que saiba no diga.
>
1 minuto atrás, Eziquiel disse:
Isso eu não sei não! rsrsrs...
Espero que alguém que saiba no diga.
SOMOS 2!
MODERADORES! JÁ PODEM FECHAR O TÓPICO E NOS ENSINAR A FECHAR TAMBÉM!
Aqui está o seu exemplo funcionando em Javascript:
http://codepen.io/Eziquiel/pen/jBLpmX?editors=0010