Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2011, 21:18
Avatar de Hiruma-Sama
Hiruma-Sama
 
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 8 meses
Puntos: 5
Pregunta [Consulta] variables $_POST perdidas al llamar con JS. ?

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 (urlid_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_requeridaid_contenedor);
    }
    
pagina_requerida.open ('GET'urltrue); // 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_requeridaid_contenedor)
{
    if (
pagina_requerida.readyState == && (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.