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!!