Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/09/2011, 09:57
pithon
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: porque no me cambia los datos de mi funcion

Hola, no lo he conseguido hacer, posteo codigo por si alguien me quiere ayudar.


aqui creo un objeto ajax para recuperar los datos de forma asincronica con un select.

funcion.js
Código Javascript:
Ver original
  1. function objetoAjax()   {
  2.     if (window.XMLHttpRequest)
  3.         _ajax = new XMLHttpRequest();
  4.     else
  5.         if (window.ActiveXObject)
  6.             _ajax = new ActiveXObject("Microsoft.XMLHTTP");
  7.         else
  8.             _ajax = false;
  9.     return _ajax;
  10. }
  11.  
  12.  
  13. function pedir(dato) {
  14. Ajax = objetoAjax();
  15. Ajax.open("get","recuperar.php?numero=" + dato, true);
  16. Ajax.onreadystatechange = function() {
  17.   if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
  18.    document.getElementById('ajax_datos').innerHTML=Ajax.responseText;
  19.     }
  20.  }
  21.  Ajax.send(null);
  22. }

aqui el script principal donde tengo el select para recuperar el valor de mi consulta de forma asincronica y el div donde me tiene que cargar los datos


codigo.php

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <script type="text/javascript" language="javascript" src="funcion.js"></script>
  4.     </head>
  5.     <body>
  6. <?php
  7. $con=mysql_connect("localhost","root","");
  8. $consulta="select * from prueba";
  9. $reg=mysql_query($consulta);
  10. ?>
  11.  
  12. <select name="codigo" id="codigo" onchange="pedir(document.getElementById('codigo').value)">
  13.     <option value="">seleciona numero</option>
  14.  <?php
  15.  while ($row=mysql_fetch_assoc($reg)){
  16.     ?>
  17.     <option value="<?php echo $row['numero']; ?>"><?php echo $row['numero'];?></option>
  18. <?php  
  19. }
  20. ?>
  21. </select>
  22.  
  23.  <div id="ajax_datos"></div>
  24.     </body>
  25. </html>


y aqui la pagina donde recupero los datos para pasarlos al div ajax_datos, en este script
esta la funcion js que no me funciona.


recuperar.php

Código PHP:
Ver original
  1. <?php
  2. $con=mysql_connect("localhost","root","");
  3. $consulta="select * from prueba where id=".$_GET['codigo']." ";
  4. $reg=mysql_query($consulta);
  5. $servicio_id=array();
  6. while ($row = mysql_fetch_assoc($reg)){
  7. $numero[]= $row['numero'];
  8. }
  9. ?>
  10.  
  11.  
  12. <script language='javascript'>
  13.  
  14. var numero = new Array();
  15.  
  16.  
  17. <?php
  18. for ($i = 0, $total = count($numero); $i < $total; $i ++)
  19. echo "\nnumero[$i] = '$numero[$i]';";
  20. ?>
  21.  
  22.  
  23. var pos = 0;
  24.  function MostrarRegistos(){
  25.    
  26.     for (i=1;i<=2;i++){
  27.        
  28.              num = numero[pos];
  29.  
  30. document.getElementById("registro"+i).innerHTML ='<p>' + num + '</p>';
  31.  
  32.                      
  33.                      pos++;
  34.                 if(pos>=(numero.length)){pos = 0}
  35.             }
  36.         }
  37.            
  38.         window.onload = MostrarRegistos;
  39.        
  40.         setInterval(MostrarRegistos,4000)
  41.        
  42. </script>
  43.     </head>
  44.     <body>
  45.            
  46.             <div  id="registro1"></div>
  47.             <div  id="registro2"></div>
  48.            
  49.        
  50.         </body>
  51. </html>

Realmente no se como hacer para que me carge la funcion js sin recargar pagina ya que la consulta si me la cambia de forma asincronica pero no la funcion js, saludos.

Última edición por pithon; 12/09/2011 a las 10:32