Para ajax usa estas dos funciones:
Código PHP:
function nuevoAjax()
{
var xmlhttp=false;
try
{ xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e)
{
try
{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
// parametros, dato a pasar por post, ruta del formulario receptor, capa a recargar en ajax
function traerDatos(tipoDato,php,div)
{
var capa=document.getElementById(div);
var ajax=nuevoAjax();
capa.innerHTML="";
capa.innerHTML="<img src='cargando.gif'></img>";
ajax.open("POST",php, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("d="+tipoDato);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4) //si ya se ha cargado al completo
{
capa.innerHTML=""; //vacío la capa
capa.innerHTML=ajax.responseText; //la relleno con lo que me diga el formulario de php
}
}
}
Con eso van bien los formularios.