Foros del Web » Programando para Internet » PHP »

No funciona POST al cargar un pagina en un div con ajax y php

Estas en el tema de No funciona POST al cargar un pagina en un div con ajax y php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/08/2011, 10:02
 
Fecha de Ingreso: febrero-2011
Mensajes: 10
Antigüedad: 13 años, 8 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. }
  #2 (permalink)  
Antiguo 06/08/2011, 10:21
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Que error te aparece?
  #3 (permalink)  
Antiguo 06/08/2011, 10:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Hola xtimed!
Me sale este error:
Notice: Undefined index: txtbuscar in buscar.php on line 3

No funciona POST.. Si al hacer clic en buscar del formulario y cargara la pagina buscar.pho si funciona, pero al cargar la pagina buscar.php dentro de un div de index.php no me funciona POST!
  #4 (permalink)  
Antiguo 06/08/2011, 11:02
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Creo que tu problema es de javascript. No soy un experto, pero realmente en el javascript ese lo que haces al final del todo es cargar la info de buscar.php en un div de la misma página en la que está el form. Pero realmente, el form todavía no se ha enviado, ya que javascript se ejecuta en cliente, no en servidor, luego el $_POST no ha llegado a tomar los valores del formulario.

Eso es lo que no funciona seguro, que aún no ha habido comunicación con el servidor, por lo tanto el post no ha tomado valor. Lo que no sé es cómo arreglarlo, supongo que habrá alguna forma en javascript, pero no te sé ayudar. Pregunta en la sección de AJAX.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 06/08/2011, 11:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Tienes mucha razon vgonga1986.
Estoy modificando el JS, al acabarlo posteo la solución!
  #6 (permalink)  
Antiguo 12/08/2011, 18:00
 
Fecha de Ingreso: febrero-2011
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Tema resuelto.
GRAXIAS!
  #7 (permalink)  
Antiguo 03/10/2011, 16:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: No funciona POST al cargar un pagina en un div con ajax y php

Hola, podrias dejar la solución porfavor? ya que estoy teniendo el mismo problema, gracias.

Etiquetas: ajax, html, post, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 13:28.