Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2011, 10:02
DmG_xD
 
Fecha de Ingreso: febrero-2011
Mensajes: 10
Antigüedad: 13 años, 2 meses
Puntos: 2
No funciona POST al cargar un pagina en un div con ajax y php

Buenos dias! Tengo el siguiente problema: Tengo una pagina principal index.php con un formulario de busqueda de libro, al presiona el boton de buscar cargo la pagina buscar.php en un div=content dentro del mismo index.php utilizando ajax. El problema es que no puedo leer el txtbuscar del formulario por metodo POST!

En otras palabras deseo que al presionar el botón buscar de mi formulario index.php, carge la pagina buscar.php en el div=content (COSA QUE YA HICE) pero que a la vez buscar.php pueda mostrar a traves de un echo el texto ingresado del textbox(txtbuscar) del formulario.

index.php

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <script type="text/javascript" src="javadiv.js"></script>
  6. </head>
  7. <body>
  8.  <div id="content">
  9.     <!-- Aqui cargara buscar.php y mostrara el texto ingresado del textbox-->  
  10.  </div>
  11.  
  12.  <div id="BuscarLibro">
  13.     <form name = "form1" id="form1" method="post" action="javascript:CargaDiv('buscar.php','content')">
  14.      <table>     
  15.         <tr>
  16.         <td width="150"><center>Libro a consultar</center></td>
  17.         </tr>
  18.         <tr>
  19.         <td><center><input name="txtbuscar" type="text" id="txtbuscar" size="16" />
  20.         </center></td>     
  21.         </tr>
  22.         <td colspan="2">
  23.         <center>
  24.         <input name="btnbuscar" type="button" value="Buscar" onclick="submit()">       
  25.         </center></td>
  26.         </tr>
  27.     </table>
  28.     </form>
  29. </body>
  30. </html>

buscar.php
Código PHP:
Ver original
  1. <?php
  2.     echo 'El libro a buscar a sido: ';
  3.     // echo $_POST["txtbuscar"]; ESTE ES EL ERROR!
  4. ?>

javadiv.js (función que permite cargar una pagina en un div)
Código Javascript:
Ver original
  1. // Documento JavaScript
  2. // Esta función cargará las paginas
  3. function CargaDiv (url, id_contenedor)
  4. {
  5.     var objeto = false;
  6.     if (window.XMLHttpRequest)
  7.     {
  8.         // Si es Mozilla, Safari etc
  9.         objeto = new XMLHttpRequest ();
  10.     } else if (window.ActiveXObject)
  11.     {
  12.         // pero si es IE
  13.         try
  14.         {
  15.             objeto = new ActiveXObject ("Msxml2.XMLHTTP");
  16.         }
  17.         catch (e)
  18.         {
  19.             // en caso que sea una versión antigua
  20.             try
  21.             {
  22.                 objeto = new ActiveXObject ("Microsoft.XMLHTTP");
  23.             }
  24.             catch (e)
  25.             {
  26.             }
  27.         }
  28.     }
  29.     else
  30.     return false;
  31.     objeto.onreadystatechange = function ()
  32.     {
  33.         // función de respuesta
  34.         cargarpagina (objeto, id_contenedor);
  35.     }
  36.     objeto.open ('GET', url, true); // asignamos los métodos open y send
  37.     objeto.send (null);
  38. }
  39. // todo es correcto y ha llegado el momento de poner la información requerida
  40. // en su sitio en la pagina xhtml
  41.  
  42. function cargarpagina (objeto, id_contenedor)
  43. {
  44.     if (objeto.readyState == 4 && (objeto.status == 200 || window.location.href.indexOf ("http") == - 1))
  45.     document.getElementById (id_contenedor).innerHTML = objeto.responseText
  46.    
  47.     else //en caso contrario, mostramos un gif simulando una precarga
  48.     document.getElementById(id_contenedor).innerHTML='<img src="loader.gif" alt="cargando" />'
  49. }