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

No sale el autocompletar

Estas en el tema de No sale el autocompletar en el foro de Frameworks JS en Foros del Web. Hola!! tengo una inquietud resulta que yo tengo un formulario le tengo que poner autocompletar, ejemplo formulario1.php @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <form name="MB11-176" ...
  #1 (permalink)  
Antiguo 01/02/2012, 17:38
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
No sale el autocompletar

Hola!! tengo una inquietud resulta que yo tengo un formulario le tengo que poner autocompletar, ejemplo

formulario1.php

Código PHP:
Ver original
  1. <form name="MB11-176" action="Opcion.php?codigo=CT-09F4" method="post">
  2.  
  3. <?php  
  4.  
  5.  include('Csertificado_Nuevo.php');
  6.  
  7. ?>
  8.  
  9. </form>                
  10.  
  11. <center><div id="resultado" style=" solid #FF0000; color:#000000; width:900px;"></div></center>

Csertificado_Nuevo.php lo que selecciono de la lista me aparece en el div resultado

Código PHP:
Ver original
  1. <form action="Nuevo.php" name="CertificadoMB11" method="post">
  2.  
  3.  
  4. <?php
  5.  
  6. require('Conexion.php');
  7.  
  8. $Codigo=$_GET['codigo'];
  9.  
  10.  
  11. require('Conexion.php');
  12.  
  13. $aprobado="";
  14.  
  15. $cox="select * from `confirmacion`  where `Codigo`='{$Codigo}' AND `Aprobado_Micro`='{$aprobado}'";
  16.  
  17. $rwx=mysql_query($cox,$Conexion) or die (mysql_error());
  18.  
  19. ?>
  20.  
  21. <center><p>No. ANALISIS: <?php
  22.  
  23.  
  24.         echo "<select  name=lista onchange=javascript:MostarNuevo() id=lista>";
  25.  
  26.         echo "<option>Seleccione No.Analisis</option>";
  27.                    
  28.         echo "<option value=''>Nuevo</option>";
  29.  
  30.         while ($row=mysql_fetch_array($rwx)){
  31.            
  32.  
  33.         echo "<option value=".$row['Analisis'].">".$row['Analisis']."</option>";   
  34.  
  35.         }
  36.  
  37.         echo"</select>";
  38.  
  39.         ?>

MostarNuevo() ----->Biene de una funcion

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.  
  3.     var xmlhttp=false;
  4.  
  5.     try {
  6.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7.  
  8.     } catch (e) {
  9.  
  10.         try {
  11.  
  12.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.  
  14.         } catch (E) {
  15.  
  16.             xmlhttp = false;
  17.         }
  18.     }
  19.  
  20.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  21.  
  22.         xmlhttp = new XMLHttpRequest();
  23.     }
  24.  
  25.     return xmlhttp;
  26. }
  27.  
  28. function MostarNuevo(){
  29.    
  30.     divResultado = document.getElementById('resultado');
  31.    
  32.     conss=document.getElementById("lista").value;
  33.    
  34.    
  35.     ajax=objetoAjax();
  36.    
  37.  
  38.     ajax.open("POST","Nuevo.php",true);
  39.  
  40.     ajax.onreadystatechange=function() {
  41.  
  42.         if (ajax.readyState==4) {
  43.            
  44.             divResultado.innerHTML = ajax.responseText
  45.         }
  46.     }
  47.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  48.    
  49.  ajax.send("No.Analisis="+conss)
  50.  
  51. }

esta funcion me envia a Nuevo.php que es donde esta mi formulario para autocompletar.

y mi Nuevo.php

Código HTML:
Ver original
  1.  
  2. <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
  3.  
  4. <title>CERTIFICADO PRUEBA DE ENTOTOXINA BACTERIANA</title>
  5.  
  6.         <script src="js/jquery-1.4.2.min.js"></script>
  7.         <script src="js/autocomplete.jquery.js"></script>
  8.         <link type="text/css" rel="stylesheet" href="autocomplete.css"></link>
  9.  
  10.             $(document).ready(function(){
  11.                 /* Una vez que se cargo la pagina , llamo a todos los autocompletes y
  12.                  * los inicializo */
  13.                 $('.autocomplete').autocomplete();
  14.             });
  15.         </script>
  16. </head>
  17.  
  18. <form name="form6" id="form6" method="post" action="Opcion.php" enctype="multipart/form-data">
  19.  
  20. <div class="autocomplete">
  21.  
  22. PRODUCTO: <input type="text" name="producto" id="tags" size="99" value="" data-source="search.php?search=">
  23.  
  24. </form>

esto me incluye search.php

esta contiene los datos con los que se pueden autocompletar

Código PHP:
Ver original
  1. // limpio la palabra que se busca
  2. $search= trim($_GET['search']);
  3.  
  4. // la busco
  5. $result= search($search);
  6.  
  7. // seteo la cabecera como json
  8. header('Content-type: application/json; charset=iso-8859-1');
  9.  
  10. //imprimo el resultado como un json
  11. echo json_encode($result);
  12.  
  13.  
  14. /**
  15.  *  Funcion que busca en los datos un resultado  que tenga que ver
  16.  *  con la busqueda, si los datos vinieran de base no seria necesario esto
  17.  *  ya que lo podriamos resolver directamente por sql
  18.  */
  19. function search($searchWord)
  20. {
  21.     $tmpArray=array();
  22.     /**
  23.      * Obtengo los datos almacenados en el array
  24.      */
  25.     $data=getData();
  26.    
  27.     /*
  28.      * Recorro el array para ver si hay palabras que empiecen con lo que viene
  29.      * por parametros
  30.      */
  31.     foreach($data as $word)
  32.     {
  33.         // obtengo el tamaño de la palabra que se busca.
  34.         $searchWordSize=strlen($searchWord);
  35.         // corto la palabra que viene del array y la dejo del mismo tamaño que
  36.         // la que se busca de manera de poder comparar.
  37.         $tmpWord=substr($word, 0,$searchWordSize);
  38.         // si son iguales la guardo para devolverla
  39.         if (strtolower($tmpWord) == strtolower($searchWord))
  40.         {
  41.             // guardo la palabra original sin cortar.
  42.             $tmpArray[]=$word;
  43.         }
  44.     }
  45.    
  46.     return $tmpArray;
  47. }
  48.  
  49.  
  50. /**
  51.  * Retorna los datos, podria ser una base de datos
  52.  * para simplificar solo hice esta funcion que devuelve
  53.  * un array ordenado
  54.  */
  55. function getData()
  56. {
  57.     $result=array();
  58.     $result[]='jQuery';
  59.     $result[]='Javascript';
  60.     $result[]='Imagenes';
  61.     $result[]='Galerias';
  62.     $result[]='Fotos';
  63.     $result[]='Efectos';
  64.     $result[]='Menus';
  65.     $result[]='Acordeon';
  66.     $result[]='Autocompletar';
  67.     $result[]='Sliders';
  68.     $result[]='PopUps';
  69.     $result[]='Clocks';
  70.     $result[]='Autoload';
  71.     $result[]='HTML5';
  72.     $result[]='CSS3';
  73.     $result[]='LightBox';
  74.     $result[]='Analytics';
  75.     $result[]='Analizador';
  76.    
  77.     asort($result);
  78.     return $result;
  79. }

esto asi tal cual como lo muestro no funciona, pero si ejecuto solamente Nuevo.php hay si funciona(localhost/Nuevo.php), pero quiero saber por que??? si lo ejecuto desde el formulario1.php no funciona agradezco toda la ayuda posible

No se si aya sido necesario poner todo, pero la ideas es ser especifica gracias!!
  #2 (permalink)  
Antiguo 02/02/2012, 12:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: No sale el autocompletar

error común en principiantes de AJAX: le falta verificar ajax.status == 200

consulte un manual de AJAX actualizado, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/02/2012, 07:34
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: No sale el autocompletar

Muchas gracias estuve revisando lo de ajax.status == 200 y lo agrege en mi ajax, pero no funciona el autocomplemento, pero si me muestra el formulario que esta en el div pero no el autocompletento!! Ayuda!! :)

Código Javascript:
Ver original
  1. function MostarNuevo078(){
  2.    
  3.     divResultado = document.getElementById('resultado');
  4.    
  5.     conss=document.getElementById("lista").value;
  6.    
  7.    
  8.     ajax=objetoAjax();
  9.    
  10.  
  11.     ajax.open("POST","Nuevo078.php",true);
  12.  
  13.     ajax.onreadystatechange=function() {
  14.  
  15.         if (ajax.readyState==4) {
  16.            
  17.             if(ajax.status==200){
  18.  
  19.             divResultado.innerHTML = ajax.responseText
  20.        
  21.             }
  22.         }
  23.     }
  24.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  25.    
  26.  ajax.send("No.Analisis="+conss)
  27.  
  28. }

Última edición por JeMaGa; 03/02/2012 a las 08:00

Etiquetas: formulario, html, imagenes, mysql, sql, autocompletado
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 09:43.