Função só funciona no chrome
Gente, será que alguém pode me ajudar, isso é meio urgente.
Fiz uma função para calcular idade, até com a ajuda do pessoal aqui, fazendo perguntas quando eu precisava.
Dai ela funciona perfeitamente no Chrome, mas no firefox e ie não, poderiam me dar um help?
JS:
function calculaIdade(){
$("#dt_nascimento, #dt_diagnostico_sintoma").change(function(){
var data_diag = $("#dt_diagnostico_sintoma").val();
var dt_nasc = $("#dt_nascimento").val();
$("#idade").val("");
if((data_diag != '')&&(dt_nasc != '')){
var vt_nasc = dt_nasc.split("/");
var data_nascimento = vt_nasc[2]+"-"+Number(vt_nasc[1])+"-"+Number(vt_nasc[0]);
var vt_diag = data_diag.split("/");
var data_diagnostico = vt_diag[2]+"-"+Number(vt_diag[1])+"-"+Number(vt_diag[0]);
var now = new Date(data_diagnostico);
var today = new Date(data_diagnostico);
var yearNow = now.getYear();
var monthNow = now.getMonth();
var dateNow = now.getDate();
var dob = new Date(data_nascimento);
var yearDob = dob.getYear();
var monthDob = dob.getMonth();
var dateDob = dob.getDate();
var age = {};
var ageString = "";
var yearString = "";
var monthString = "";
var dayString = "";
yearAge = yearNow - yearDob;
if (monthNow >= monthDob)
var monthAge = monthNow - monthDob;
else {
yearAge--;
var monthAge = 12 + monthNow -monthDob;
}
if (dateNow >= dateDob)
var dateAge = dateNow - dateDob;
else {
monthAge--;
var dateAge = 31 + dateNow - dateDob;
if (monthAge < 0) {
monthAge = 11;
yearAge--;
}
}
age = {
years: yearAge,
months: monthAge,
days: dateAge
};
if ( age.years > 1 ) yearString = " years";
else yearString = " year";
if ( age.months> 1 ) monthString = " months";
else monthString = " month";
if ( age.days > 1 ) dayString = " days";
else dayString = " day";
if(age.years > 0){
$("#idade").val(age.years);
document.getElementById('idade_anos').checked = true;
$('#idade_mes').attr("checked", false);
$('#idade_dia').attr("checked", false);
$('#idade_hora').attr("checked", false);
}else if(age.months > 0 ){
$("#idade").val(age.months);
$('#idade_anos').attr("checked", false);
document.getElementById('idade_mes').checked = true;
$('#idade_dia').attr("checked", false);
$('#idade_hora').attr("checked", false);
}else if(age.days){
$("#idade").val(age.days);
$('#idade_anos').attr("checked", false);
$('#idade_mes').attr("checked", false);
document.getElementById('idade_dia').checked = true;
$('#idade_hora').attr("checked", false);
}else if(age.days == 0){
$("#idade").val('1');
$('#idade_anos').attr("checked", false);
$('#idade_mes').attr("checked", false);
$('#idade_dia').attr("checked", false);
document.getElementById('idade_hora').checked = true;
}
}
});
}
HTML:
<div class="espacamento" name="#7">
<legend>7 - Data do Diagnóstico</legend>
<input type="text" id="dt_diagnostico_sintoma" name="dt_diagnostico_sintoma" placeholder="__/__/____" required>
</div>
<div class="espacamento" name="#9">
<legend>9 - Data de Nascimento</legend>
<input type="text" id="dt_nascimento" name="dt_nascimento" placeholder="__/__/____" required>
</div>
<div id="campo_idade">
<div class="espacamento" name="#10">
<legend>10 - (ou) Idade</legend>
<input type="text" id="idade" name="nu_idade" disabled required>
</div>
<label><input type="radio" name="tipo_idade" value="1" id="idade_hora"/>1- Hora(s)</label>
<label><input type="radio" name="tipo_idade" value="2" id="idade_dia"/>2- Dia(s)</label>
<label><input type="radio" name="tipo_idade" value="3" id="idade_mes"/>3- Mês(es)</label>
<label><input type="radio" name="tipo_idade" value="4" id="idade_anos"/>4- Ano(s)</label>
</div>Discussão (24)
Carregando comentários...