Mostrar idade apos perder o focu!

Galera to com dificuldade de resolver resolver esse problema não consigo fazer com que apos informar a data de nascimento quando perder o focus mostrar no campo idade.

vou postar o script

[code]
function validarData(campo){
var expReg = /^(([0-2]\d|[3][0-1])/([0]\d|[1][0-2])/[1-2][0-9]\d{2})$/;
var msgErro = ‘Formato inválido de data.’;
if ((campo.value.match(expReg)) && (campo.value!=’’)){
var dia = campo.value.substring(0,2);
var mes = campo.value.substring(3,5);
var ano = campo.value.substring(6,10);

if(mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
// VALIDAR DIA 31
if(dia > 31) {
alert(“Dia incorreto !!! O mês especificado contém no exatamente 31 dias.”);
document.getElementById(‘calcular’).disabled=true;
return false;
} else {
document.getElementById(‘calcular’).disabled=false;
}
// FIM DO VALIDAR DIA 31
}

if(mes==4 || mes==6 || mes==9 || mes==11){
// VALIDAR DIA 30
if(dia > 30) {
alert(“Dia incorreto !!! O mês especificado contém no máximo 30 dias.”);
document.getElementById(‘calcular’).disabled=true;
return false;
} else {
document.getElementById(‘calcular’).disabled=false;
}
// FIM DO VALIDAR DIA 30
}

if(mes==2) {
// VALIDAR DIA 28 E ANO
if(dia > 28 && ano%4!=0) {
alert(“Dia incorreto !!! O mês especificado contém no máximo 28 dias.”);
document.getElementById(‘calcular’).disabled=true;
return false;
} else {
document.getElementById(‘calcular’).disabled=false;
} // FIM DO VALIDAR DIA 28 E ANO

// VALIDAR DIA 29 E ANO
if(dia > 29 && ano%4==0) {
alert(“Dia incorreto !!! O mês especificado contém no máximo 29 dias.”);
document.getElementById(‘calcular’).disabled=true;
return false;
} else {
document.getElementById(‘calcular’).disabled=false;
} // FIM DO VALIDAR DIA 29 E ANO
}

} else {
alert(msgErro);
document.getElementById(‘calcular’).disabled=true;
campo.focus();
return false;
}

}

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.datanascimento.value;
var partes = data.split("/");
var junta = partes[2]+"-"+partes[1]+"-"+partes[0];
document.form.idade.value = (calculateAge(junta));
}[/code]

Onde ira colocar mostrar os valores

[code]

Data de Nascimento
						<td><label>Idade</label></td>
						<td><input type="text" size="1"  disabled="disabled"></td>[/code]

valeu!!!

<input class="tamanhoMedioTexto" type="text" name="dataNascimento" id="dataNascimento" ONBLUR="METODO QUE CALCULA A IDADE" >

Ponha tudo em minusculo por favor.

ficaria dessa forma?

<td><label>Data de Nascimento</label></td> <td><input class="tamanhoMedioTexto" type="text" name="dataNascimento" id="dataNascimento" onblur="validarData(document.form.datanascimento)"></td>

voce passa dentro do metodo assim: this.value

Que ele vai pegar o valor do input

ou seja dessa forma

isso

ué coloquei uma data assim 99/99/9999 mas qq perdeu o focu nada aconteceu…to fazendo algo errado?

Nao!, deixa eu testar aqui, onblur serve justamente para fazer isso ao perder o focus.