Bueno no entiendo la estructura de tu web pero lo único que te puedo decir es que la redireccion lo hagas dentro de tu funcion ajax... ¿comó? pues con el
responseText de ajax.
en tu script GRABA.PHP al terminar de guardar en tu bd mandas un status:
Código PHP:
$con = bla bla bla...;
mysql_select_db(bla bla bla...);
$Sql="INSERT INTO bla bla bla...";
mysql_query($Sql,$con);
echo "guardo";
Ese "guardo" es el responseText es la respuesta del servidor que recupera tu funcion ajax, entonces en tu funcion deberías agregar algo asi:
Código:
function cargarobjeto(objeto, id)
{
if (objeto.readyState == 4){ //si se ha cargado completamente
document.getElementById(id).innerHTML=objeto.responseText;
if (objeto.responseText == "guardo"){
document.location.href='mipagina.html';
}
else{
alert('error inesperado');
}
}else {//en caso contrario, mostramos un gif simulando una precarga
document.getElementById(id).innerHTML='<img src="js/ajaxloader.gif" alt="cargando" />';
}
}