Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ayuda AJAX PHP pasar variable..

Estas en el tema de Ayuda AJAX PHP pasar variable.. en el foro de Frameworks JS en Foros del Web. bueno muestro los codigos.... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script language = "javascript" >                 ...
  #1 (permalink)  
Antiguo 01/02/2010, 20:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 53
Antigüedad: 14 años, 6 meses
Puntos: 0
Ayuda AJAX PHP pasar variable..

bueno muestro los codigos....
Código Javascript:
Ver original
  1. <script language="javascript">
  2.                     function nuevoAjax(){
  3.                     var xmlhttp=false;
  4.                      try {
  5.                       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  6.                      } catch (e) {
  7.                       try {
  8.                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  9.                       } catch (E) {
  10.                        xmlhttp = false;
  11.                       }
  12.                      }
  13.  
  14.                     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  15.                       xmlhttp = new XMLHttpRequest();
  16.                     }
  17.                     return xmlhttp;
  18.                     } //esto siempre va define tipo de navegador, si soporta y se puede agregar mas catch segun uno lo necesite....
  19.  
  20.               function cargarContenido(loQueLLega){
  21.                         var contenedor;
  22.                        
  23.                         contenedor = document.getElementById(loQueLLega);
  24.                        
  25.                         ajax=nuevoAjax();
  26.  
  27.                         var loQueSale =//esto es un ejemplo de una pagina y nose que va aca .... document.form.r_alum.value //Esta variable obtiene el valor de lo q puso el usuario en el textbox nombre
  28.                         ajax.open("GET", "loQueSale="+loQueSale,true);
  29.                         ajax.onreadystatechange=function() {
  30.                          if (ajax.readyState==4) {
  31.                             contenedor.innerHTML = ajax.responseText
  32.                             }
  33.                         }
  34.                     ajax.send(null)
  35.                     }
  36.  
  37.                     </script>

acontinuacion HTML FORM....

Código HTML:
Ver original
  1. <form method=get>
  2.     <?php
  3.           $sql_algo=mysql_query("SELECT cuchillo from servicio where ESTADO = 'limpio' ",$link);
  4.          echo "<select name=hola>";
  5.           echo "<option value=->seleccione servicios</option>";
  6.           while ($row =mysql_fetch_row($sql_contrato))
  7.           {
  8.               echo" <option value=$row[0]>$row[0]</option>";
  9.           }
  10.           echo "</select>";
  11.          
  12.           ?>
  13.          
  14.       <input type="button" name="corchete" value="cargar" onclick ="cargarContenido('hola')">  
  15.   </form>

bueno y el php es...

Código PHP:
Ver original
  1. <?
  2.  
  3.   $select=$_GET['loQueSale'];
  4.  
  5.  
  6.   echo "del select".$select   ;
  7.  
  8. ?>

pero realizo esto y me dice que document.form.r_alum.value nulo o no es un objeto si le saco eso dice que la variable $select=$_GET['loQueSale']; no definida...


de antemanos gracias al que me oriente con esto e leido en varios foros pero como que quedo colgado brigidamente, debe ser una estupides (NOOB AJAX )
  #2 (permalink)  
Antiguo 02/02/2010, 07:55
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda AJAX PHP pasar variable..

Te dejo corregida esta parte:

Código Javascript:
Ver original
  1. function cargarContenido(loQueLLega){
  2.  
  3.                        // Aca obtenes al elemento HTML en el que se cargara la informacion
  4.                         var contenedor = document.getElementById(loQueLLega);
  5.                        
  6.                         ajax = nuevoAjax();
  7.  
  8.                        // Esta variable contendra los parametros pasados al php
  9.                         var loQueSale = "algun parametro";
  10.                        
  11.                         // Con open() abris el archivo php, y le pasas el parametro anterior
  12.                         ajax.open("GET", "tuArchivo.php?loQueSale="+loQueSale, true);
  13.  
  14.                         ajax.onreadystatechange=function() {
  15.                          if (ajax.readyState==4) {
  16.                             contenedor.innerHTML = ajax.responseText;
  17.                             }
  18.                         }
  19.                     ajax.send(null)
  20.                     }

Lo que no entiendo es a que te referis con

"me dice que document.form.r_alum.value nulo o no es un objeto"

Ya que en ningun momento estas llamando a ese elemento en el codigo que pusiste...

Fijate si eso te sirvio
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 02/02/2010, 18:39
 
Fecha de Ingreso: octubre-2009
Mensajes: 53
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda AJAX PHP pasar variable..

gracias jackson por tu respuesta, mira si me puedes ayudar, me explico:

lo que necesito es tomar el valor que entrega un select, lo tomo de la siguiente forma:

Código XML:
Ver original
  1. <form name=selecContrato>
es el nombre del form

el select es:

Código HTML:
Ver original
  1. <select name="contratoSelect" onchange ="cargarContenido()">

luego elavore el siguiente javascript con ajax, guiandome con lo que me explicaste con lo anterior...

Código Javascript:
Ver original
  1. function cargarContenido(){
  2.                       //se define la id adonde se imprime el resultado
  3.                        contenedor = document.getElementById('resultado');
  4.                         //para usar mas de una vez esta funcion....
  5.                         ajax=nuevoAjax();
  6.  
  7.                         //se rescata los datos del formulario selec contrato
  8.                         contrato=document.selecContrato.contratoSelect.value;
  9.                         // la linea anterior me dice que es null o no es un objeto...
  10.                        
  11.                         ajax.open("POST", "frame_resoluciones.php",true);
  12.                         ajax.onreadystatechange=function() {
  13.                          if (ajax.readyState==4) {
  14.                             contenedor.innerHTML = ajax.responseText
  15.                             }
  16.                         }
  17.                    
  18.                     ajax.send("loQueSale="+contrato)
  19.                     }

cuando reviso el error en el IE8 me dice lo sigueinte
contrato=document.selecContrato.contratoSelect.val ue; <---------- es nulo o no es un objeto.

lo que imprime con php me dice que la variable Notice: Undefined index: loQueSale

Código PHP:
Ver original
  1. <td id="resultado">
  2. <?
  3.  
  4.   $select=$_POST['loQueSale'];
  5.  
  6.  
  7.   echo "del select".$select;
  8.  
  9. ?>
  10. </td>


bueno agradecere de tu ayuda o de kien me pueda guiar en que faya.

muchas gracias
  #4 (permalink)  
Antiguo 02/02/2010, 19:26
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda AJAX PHP pasar variable..

Es que esta bien lo que te esta diciendo... El tema es que estas pasando mal el parametro. Deberia ser asi:

Reemplaza esta linea asi

Código Javascript:
Ver original
  1. <select name="contratoSelect" onchange ="cargarContenido(this.value)">

Y tu funcion

Código Javascript:
Ver original
  1. function cargarContenido(val){
  2.     contenedor = document.getElementById('resultado');
  3.     ajax = nuevoAjax();
  4.     ajax.open("POST", "frame_resoluciones.php",true);
  5.     ajax.onreadystatechange=function() {
  6.         if (ajax.readyState==4) {
  7.             contenedor.innerHTML = ajax.responseText;
  8.         }
  9. }
  10. ajax.send("loQueSale="+val);
  11. }
__________________
HV Studio
Diseño y desarrollo web
  #5 (permalink)  
Antiguo 02/02/2010, 20:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 53
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda AJAX PHP pasar variable..

si jackson ise esso cambios y mejoro mucho, lamentablemente tengo un pero :(

realiza la funcion ya que puse un alert(var) y la muestra cuando selecciono un valor de la variable, pero no imprime la variable de php en el td.

es como si no pasara la variable loQueSale

PHP:
Código PHP:
Ver original
  1. <td id="resultado">
  2. <?
  3.   $select=0;
  4.   if(isset($_REQUEST['loQueSale'])){
  5.  
  6.   $select=$_POST['loQueSale'];
  7.  
  8.   echo "entro??";
  9.   echo "del select".$select;
  10. }
  11. else{echo "aun no tomo variable del select".$select;}
  12. ?>
  13. </td>

script con el val.
Código Javascript:
Ver original
  1. function cargarContenido(val){
  2.     contenedor = document.getElementById('resultado');
  3.     ajax = nuevoAjax();
  4.     ajax.open("POST", "frame_resoluciones.php",true);
  5.     ajax.onreadystatechange=function() {
  6.         if (ajax.readyState==4) {
  7.             contenedor.innerHTML = ajax.responseText;
  8.         }
  9. }
  10. ajax.send("loQueSale="+val);
  11. alert(val);
  12. }
  #6 (permalink)  
Antiguo 03/02/2010, 05:40
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda AJAX PHP pasar variable..

Hacelo con metodo get y usa <?php en vez de <?
__________________
HV Studio
Diseño y desarrollo web
  #7 (permalink)  
Antiguo 03/02/2010, 07:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 53
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda AJAX PHP pasar variable..

bueno jacksson, cambie a GET y le agrege el php al <? , pero no ocurre nada
lo que si me fije que que si esta pasando el valor la funsion ajax por el siguiente mensaje que me arrojo al ir problando (causa y efecto).

Not Found
The requested URL /CARPETA RAIZ/loQueSale=3953 was not found on this server.

el mensaje lo obtuve de la linea
ajax.open("GET", "pagina.php?loQueSale="+val,true);
ya que saque la pagina php que realiza la operacion.
ajax.open("GET", "loQueSale="+val,true);

alguna idea?
  #8 (permalink)  
Antiguo 03/02/2010, 07:53
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda AJAX PHP pasar variable..

Y si sacaste la pagina php no estas abriendo nada! Por favor, revisa un poco antes de volver a postear, es muy pavo el error q estas teniendo seguro...
Estas haciendo un open() y no estas abriendo ningun archivo!!!!
__________________
HV Studio
Diseño y desarrollo web
  #9 (permalink)  
Antiguo 03/02/2010, 09:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 53
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda AJAX PHP pasar variable..

jajajjaj jacksson "pero para que te enojas?", estoy super agradecito de tu gia sensei.

el script bien, el detalle era que tenia:

una pagina llamada pagina.php donde tenia todo
<script java-ajax>
<html form select>
<php resultado junto con impresion html>

y todo lo manejaba adentro de esa pagina.
-

lo que hice fue pagina.php tiene:

<script java-ajax>
<html form select>
<html id:resultado>

y genere una pagina anex llamada php_ajax.php donde rescato con get el script ajax.

ahora se ve lindo me gusto AJAX, dificil al principio de entender pero creo que con esto ayudara a nuevas generaciones.

Bueno muchas gracias. me emocione

Etiquetas: ajax, pasar, php, variables
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




La zona horaria es GMT -6. Ahora son las 16:26.