Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2011, 03:13
pithon
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
cambiar un div de forma asincronica segun opcion elejida

Hola, tengo un script donde seleciono una opcion en un select que seguido llamo a otro script para que me cambien los valores en el div de forma asincronica, pero no se muy bien como hacerlo yo hice algo asin:

funciones j.s

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. function pedir(dato) {
  13. Ajax = objetoAjax();
  14. Ajax.open("get","recuperar.php?nombre=" + dato, true);
  15. Ajax.onreadystatechange = function() {
  16.   if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
  17.    document.getElementById('recuperar').innerHTML=Ajax.responseText;
  18. }
  19.  }
  20.  Ajax.send(null);
  21. }

aqui el codigo donde tengo los select y el div que me tendria que cambiar los datos cada vez que seleciono una opcion en select

mostrar.php

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

este es el script que me tendria que recuperar los datos del div

recuperar.php

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

este mismo codigo lo probe sin la funcion js osea que me mostrara los datos del while y segun elijo otra opcion me cambie la consulta y los datos tambien de forma asincronica y me funciono , pero no consigo hacer que me funcione el js, alguien me puede ayudar?

Saludos.

Última edición por pithon; 14/09/2011 a las 13:38