Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/08/2010, 18:25
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Duda para redireccionar y mostrar resultado dentro de un div

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("
locationalta.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.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.