Input Coloque valores automaticos en php

Imagen de goku_77

Forums: 

Quisiera saber como coloco, el input para que me cargue un valor automaticamente. Por ejemplo


Fecha de Nacimiento:
Edad:

Cuando introduzca la fecha de nacimiento, automaticamente se imprima la edad abajo sin tener que introducirla.

No se, si el calculo matematico lo tengo que hacer en javascript o en php?
y dentro del input que palabra reservada uso, el OnChange u Onfocus?

Prueba AJAX

Imagen de omegajack

Yo te recomiendo uses AJAX, la hice pequeña y pues ya tu hazle las modificaciones que desees, requieres dos paginas, la primera la llame fecha.php y contiene

Documento sin título

Fecha nacimiento

Edad

function creaAjax()
{
var objetoAjax=false;
try
{
/*Para navegadores distintos a internet explorer*/
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try {
/*Para explorer*/
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}

if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}

function FAjax (url,capa,valores,metodo)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST')
{
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Calculando edad...";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{

capaContenedora.innerHTML = "La direccion no existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
}

Nota: El JS esta embebido, porcupuesto puedes ponerlo en un archivo .js separado y llamarlo en el header de esta pagina

La segunda pagina que se necesita es la que arrojara la edad, es llamada calcula_edad.php y contiene:

<?php
function edad($edad){
list($anio,$mes,$dia) = explode("-",$edad);
$anio_dif = date("Y") - $anio;
$mes_dif = date("m") - $mes;
$dia_dif = date("d") - $dia;
if ($dia_dif < 0 || $mes_dif < 0)
$anio_dif--;
return $anio_dif;
}
echo edad("$fecha");
?>

Espero te sea de utilidad