Buenas, tengo la siguiente situación: Tengo un archivo JS. referenciado desde la cabecera de mi sitio, que me permite hacer llamadas asincronas, y solo refrescar la parte del DIV. que yo desee, usando la parte del menu funciona de 10, pero ahora queria aplicarlo a un formulario html/php (que si no hago uso de la funcion asincrona funciona perfectamente), pero claro, yo quiero que funcione con ese metodo para solo recargar una porcion de la pagina, los archivos resumidos vienen asi:
pagina1.php
Código PHP:
<?php
if(!isset($_POST["crearusuario"])){
?>
<div id="example" class="post">
<h2 class="title">Crear Usuarios</h2>
<div class="content">
<p><form action="javascript:llamarasincrono('pagina1.php', 'content');" method="post">
<table border="0" summary="Nombre y Contraseña para los Usuarios.">
<tr><td>
Usuario:<br>
<input type="text" name="nombre" size="30" maxlength="20"><br>
</td></tr>
</table>
<br>
<input type="submit" name="crearusuario" value="Crear Usuario"></form></p>
</div>
</div>
<?php
}else{
// AQUI TRABAJO EL RESULTADO SI FUE USADO EL FORMULARIO.
?>
Esta variable: $_POST["crearusuario"] cuando uno hace click en el boton, vuelve como corresponde a la pagina1.php, pero esta no aparece seteada,
es como si la llamada asincrona del JS. me perdiese la ejecucion del formulario
AH PD: dejo por las dudas el codigo del archivo JS. por las dudas:
Código PHP:
// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
Desde ya muchas gracias por su tiempo.