Hola a todos! Tengo el siguiente código... simple como verán:
ajax.js
Código:
function Carga(url,id)
{
//Creamos un objeto dependiendo del navegador
var objeto;
if (window.XMLHttpRequest)
{
//Mozilla, Safari, etc
objeto = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
//Nuestro querido IE
try {
objeto = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try { //Version mas antigua
objeto = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!objeto)
{
alert("No ha sido posible crear un objeto de XMLHttpRequest");
}
//Cuando XMLHttpRequest cambie de estado, ejecutamos esta funcion
objeto.onreadystatechange=function()
{
cargarobjeto(objeto, id)
}
objeto.open('GET', url, true) // indicamos con el método open la url a cargar
objeto.send(null) // Enviamos los datos con el metodo send
}
function cargarobjeto(objeto, id)
{
if (objeto.readyState == 4) //si se ha cargado completamente
document.getElementById(id).innerHTML=objeto.responseText
else //en caso contrario, mostramos un gif simulando una precarga
document.getElementById(id).innerHTML='<img src="js/ajaxloader.gif" alt="cargando" />'
}
Y aquí el link que llama a la página de alta de articulos
Código HTML:
// CON ESTE LINK LLAMO A LA PAGINA PARA DAR DE ALTA
<a href="javascript:Carga('alta.php','contenedor');">Alta de articulo</a>
<div id="contenedor" style="margin-top:10px;"></div>
Por otro lado, la página ALTA.PHP la armé de esta manera:
Código PHP:
<FORM ACTION="graba.php" METHOD="POST">
<input name="articulo" type="text" id="articulo">
<input type="submit" name="submit" value="Dar de Alta">
<div id="resultado"><?php include('lista.php');?></div>
GRABA.PHP
Código PHP:
$con = bla bla bla...;
mysql_select_db(bla bla bla...);
$Sql="INSERT INTO bla bla bla...;
mysql_query($Sql,$con);
header("location: alta.php");
exit;
El tema es así... si ejecuto
SOLAMENTE la página ALTA.PHP, cada vez que doy de alta un artículo, el
header("location: alta.php"); hace que vuelva a la página ALTA.PHP y me muestre un listado de lo que hay en la BDD mediante el include que hice. Así funciona...
Ahora... ¿cómo hago para que haga todo esto dentro del <div id="contenedor"></div> que se encuentra en el INDEX.PHP? Porque si al header lo modifico y le pongo
header("location: index.php"); me vuelve al INDEX.PHP pero el div me aparece vacío y quisiera que aparezca otra vez ALTA.PHP
Espero se haya comprendido.
Gracias por su tiempo y saludos.
Marx.