Llamada de la funcion al formulario (lo hace bien)
Código HTML:
<li><a class="nivel1" href="#" onclick="return principal('./cuenta/prueba.php','mainContent');">Login</a></li>
Código:
function principal(pagina,divID) { var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } if(XMLHttpRequestObject) { var mostrar = document.getElementById(divID); XMLHttpRequestObject.open("GET", pagina, true); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { mostrar.innerHTML = XMLHttpRequestObject.responseText; } } XMLHttpRequestObject.send(null); } }
El formulario, este es el de desarrolloweb, es con el que estoy haciendo pruebas, por si solo funciona,cuando lo cargo con la funcion principal no.
Código PHP:
<?php
//incluímos la clase ajax
require ('xajax/xajax_core/xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
function procesar_formulario($form_entrada){
$salida = "Gracias por enviarnos tus datos. Hemos procesado esto:<p>";
$salida .= "Nombre: " . $form_entrada["nombre"];
$salida .= "<br>Apellidos: " . $form_entrada["apellidos"];
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse();
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
$respuesta->assign("mensaje","innerHTML",$salida);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("procesar_formulario");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<html>
<head>
<title>Enviar y procesar un formulario con Ajax y PHP</title>
<?php
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
</head>
<body>
<h1>Recibir y procesar formulario con Ajax y PHP</h1>
<div id="mensaje">
<form id="formulario">
Nombre: <input type="text" name="nombre">
<br>
Apellidos: <input type="text" name="apellidos">
<br>
<input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))">
</form>
</div>
</body>
</html>