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

ejecutar fuction() despues de ajax

Estas en el tema de ejecutar fuction() despues de ajax en el foro de Frameworks JS en Foros del Web. Hola estoy haciendo un buscador algo asi como el de facebook que muestra resultados abajo a medida que se teclea la palabra, ahora, mi buscador ...
  #1 (permalink)  
Antiguo 18/05/2011, 19:50
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta ejecutar fuction() despues de ajax

Hola estoy haciendo un buscador algo asi como el de facebook que muestra resultados abajo a medida que se teclea la palabra, ahora, mi buscador va bien en esa parte la hize con ajax, ahora ¿que quiero hacer? bueno un buscador que me muestre los resultados y estos tengan un en lace que se abra con fancybox como iframe, pero no se como hacer para que cada vez que se teclea un letra y los resultados se actualizen se ejecute el script iframe de fancybox para que este funcione... ayuda T_T
PD: soy nuevo en la web perdon si me faltan datos o algo asi.
  #2 (permalink)  
Antiguo 19/05/2011, 02:02
 
Fecha de Ingreso: marzo-2002
Ubicación: Valencia
Mensajes: 65
Antigüedad: 22 años, 1 mes
Puntos: 2
Respuesta: ejecutar fuction() despues de ajax

Tienes que encontrar el codigo que llama al fancybox y lanzarlo junto con el codigo que carga el contenido para que se ejecute. Si pones algo de codigo quizas te podemos ayudar mas. Saludos!
  #3 (permalink)  
Antiguo 19/05/2011, 08:02
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: ejecutar fuction() despues de ajax

Luego de colocar los resultados les coloca el fancybox.

Código Javascript:
Ver original
  1. $.get("busqueda.php",function(resultados){
  2.      $("#cajon").html(resultados)
  3.      $("#cajon a").fancybox()
  4. })
  #4 (permalink)  
Antiguo 19/05/2011, 20:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: ejecutar fuction() despues de ajax

inkarc donde tengo que poner eso?, es que no tengo idea mira:

Input que se actualiza cada vez que una letra se teclee:
Código HTML:
Ver original
  1. <input id="texto" size="30" maxlength="50" onkeyup="Buscar();" type="text"/>

ajax.js que hace la function buscar():
Código ajax:
Ver original
  1. function Buscador(){
  2. var xmlhttp=false;
  3. try {
  4. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5. } catch (e) {
  6. try {
  7. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8. } catch (E) {
  9. xmlhttp = false;
  10. }
  11. }
  12. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  13. xmlhttp = new XMLHttpRequest();
  14. }
  15. return xmlhttp;
  16. }
  17.  
  18. function Buscar() {
  19. var Texto = document.getElementById('texto').value;
  20. var Resultados = document.getElementById('resultados');
  21. ajax = Buscador();
  22. ajax.open("GET","script/buscar.php?q="+Texto);
  23. ajax.onreadystatechange = function() {
  24. if (ajax.readyState == 4) {
  25. Resultados.innerHTML = ajax.responseText;
  26. }
  27. }
  28. ajax.send(null)
  29.  
  30. }

recibe la variable get y usa la function Extraer:
Código PHP:
<?php 
include("config.php");
$q trim($_GET["q"]);
Extraer($q)
?>
Conecta a la base de datos e imprime los resultados:
Código PHP:
<?php
include("../paginas/conexion2.php");
function 
Extraer($q){
$query mysql_query("SELECT id, titulo FROM entradas WHERE titulo LIKE '%".$q."%' order by id desc limit 10");
$t mysql_num_rows($query);
if(
$t==0){echo'No hay resultados';}
elseif(
$q!=NULL){while($rows=mysql_fetch_array($query)){echo'<li class="resultado"><a href="entrada.php?id='.$rows[id].'">'.$rows[titulo].'</a></li>';}}elseif($q==NULL){echo'';}}
?>
Espero que eso sirva de algo...
  #5 (permalink)  
Antiguo 19/05/2011, 20:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: ejecutar fuction() despues de ajax

Fancybox es un plugin de jQuery; no es posible usarlo sin usar la libreria jQuery.


En todo caso le informo, para llamar una funcion despues de los resultados es despues de esta linea: Resultados.innerHTML = ajax.responseText;

O sea aqui:

Código Javascript:
Ver original
  1. if (ajax.readyState == 4) {
  2. Resultados.innerHTML = ajax.responseText;
  3. // AQUI va la funcion que quiere que se ejecute 'despues del ajax'
  4. }

Pero como le digo Fancybox requiere jQuery
  #6 (permalink)  
Antiguo 20/05/2011, 15:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: ejecutar fuction() despues de ajax

jajaja si lo se solo es que puse el imput para que no estubieras viendo todo el html, te lo agradesco ya lo solucione ^^ ahora si tienes dudas, con tu ayuda me ayudaste a casi terminar un cms que estoy haciendo yo ^^ muchas gracias :)

Etiquetas: ajax, javascript, jquery, php
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 1 personas




La zona horaria es GMT -6. Ahora son las 23:41.