Ver Mensaje Individual
  #11 (permalink)  
Antiguo 08/05/2007, 07:54
Avatar de ZiTAL
ZiTAL
 
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: AJAX mediante POST, no hace nada

AL final fue un error de la funcion en la que se genera el XMLHttpRequest, no le puse el return variable.

Aquí os pongo el codigo:

index.php
Código HTML:
<html> 
<head> 
<script type="text/javascript"> 
function ajaxFunction()
  {
  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    return xmlHttp;
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      return xmlHttp;
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        return xmlHttp;
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
  }
function fajax()    
{
    var titulo,texto,accion,ajax;
    
    titulo = document.getElementById('titulo').value;
    texto = document.getElementById('texto').value;
    accion = document.getElementById('accion').value;

    ajax=ajaxFunction();
    ajax.open("POST","ajax.php",true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    ajax.onreadystatechange=function() 
    {
		if (ajax.readyState==4) 
		{
		    if (ajax.status==200)
		     {
		     	document.getElementById('capa').innerHTML=ajax.responseText;
		     }
		}
    }

    ajax.send("titulo="+titulo+"&texto="+texto+"&accion="+accion);
} 
</script> 
</head> 
<body> 
<form action="#" method="post"> 
<input type="text" name="titulo" id="titulo" /> 
<input type="text" name="texto" id="texto" /> 
<input type="hidden" name="accion" id="accion" value="Nuevo" /> 
<input type="button" value="Guardar" onclick="fajax()" /> 
</form> 

<div id="capa">
</div>

</body> 
</html> 
ajax.php

Código PHP:
<?php
$titulo
=$_REQUEST["titulo"];
$texto=$_REQUEST["texto"];
$accion=$_REQUEST["accion"];
echo 
$titulo." ".$texto." ".$accion;
?>
Pero hay un problema y es que tengo que hacerlo onclick, si lo hago en onsubmit funciona, pero recarga la pagina instantaneamente, no se si se debe de hacer asi onclick o es mejor hacerlo en onsubmit, alguna sugerencia, muchas gracias a todos.

Geroarte!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan