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

scriptaculous + php + Autocompleter

Estas en el tema de scriptaculous + php + Autocompleter en el foro de Frameworks JS en Foros del Web. Tengo un problema que no logro solucionar creoq ue tiene que ver con el hecho de crear cosas con funciones en php. tengo el siguiente ...
  #1 (permalink)  
Antiguo 12/06/2008, 21:20
Avatar de Asgaroth  
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años
Puntos: 4
scriptaculous + php + Autocompleter

Tengo un problema que no logro solucionar creoq ue tiene que ver con el hecho de crear cosas con funciones en php.

tengo el siguiente codigo en un test.php

Código PHP:
<link href="style.css" rel="stylesheet" type="text/css" />
<
script src="src/prototype.js" type="text/javascript"></script>
<script src="src/scriptaculous.js" type="text/javascript"></script>
</head>
<input type="text" id="autocomplete" name="autocomplete_parameter"/>
<div id="autocomplete_choices" class="autocomplete"></div>

<script type="text/javascript">
    new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "ajax.php?mode=tagsearch", {});
</script> 
y funciona de maravilla, pero cuando lo pongo donde nesecito me bota un error el javascript "Ajax.Request is not a constructor"

La pagina donde esta es vcs.php donde dependiend algiunos parametros del GET llama unas funciones o otras algo mas, voy a poner todo el codigo apra que me entiendan

en vcs.php tengo:

Código PHP:
<?php
    
    
        
if($screen == "claim" || $screen == ""){
        
            
claimVillages($playerId$mode$action$player_access$family);
            
        }
        elseif(
$screen == "history"){
            
            
printHistory($playerId$link);
        }
        elseif(
$screen == "settings"){
            
            
screenSettings($playerId$link$mode$action);
        }
        else{
            echo 
"not implemented yet";
        }
este vcs.pghp incluye mi libreria "lib.php" donde estand definidas todaslas funciones. aki esa la parte ke importa:

Código PHP:
<?php function screenSettings($id$link$mode$action){
    
?>
    <table class="main" width="840" align="center">
        <tr>
            <td style="padding:2px;">
            <h2>Settings</h2>
                <table>
                    <tr>
                        <td valign="top">
                            <table class="vis" width="100" align="left">
                                <tr><td <?php if($mode =="changepass" || $mode ==""){ echo 'class="selected";';} ?> width="100"><a href="vcs.php?screen=settings&amp;mode=changepass">Change Password</a></td></tr>
                                 <?php if($_SESSION["user"] == "AsgarothBelem"){ ?>  <tr><td <?php if($mode =="addtribes" && $_SESSION["user"] == "AsgarothBelem"){ echo 'class="selected";';} ?> width="100"><a href="vcs.php?screen=settings&amp;mode=addtribes">Add Tribes</a></td></tr><?php ?>
                            </table>

                        </td>
                        <td valign="top" width="100%">
                           <?php 
                                   
if($mode == "changepass" || $mode == ""){
                                    
                                    if(
$action == "change"){
                                        
changePass($idmd5(addslashes($_POST["newpass"])), $_POST["oldpass"],$link);
                                    }else{
                                        
showNewPassForm($link"");
                                    }
                                    
                                }elseif(
$mode == "addtribes" &&  $_SESSION["user"] == "AsgarothBelem"){
                                    include(
"test.php");
                                    
//showAddtribeForm($link);
                                    
                                
}
                                else echo 
"Unknown";
                           
?>
                          </td>
                  </tr>
              </table>
                  
                    <br><p align="right" style="font-size: 7pt; margin-top:0px; margin-bottom:0px"><div class="closure">
                    <div align="right">© 2008 - 2008 Buup Solutions · <a href="buup.php">Contact</a>
             </div>
        </div>
        
        </td>
        </tr>
     </table>
     <?php
}

function 
showAddtribeForm($link){

    include(
"test.php");
    
    
}
pero no funciona, tengo ese error "Ajax.Request is not a construtor" lo que me inquieta es qu eno funciona ni con el include, pues tenia el codigo en esta funcion con un echo y tampoco, lo raro es que si abro directamente el "test.php" funciona bien, pero no funciona cuando esta dentro de las funciones php que les muestro. alguien tiene idea de como solucionar esto? la verdad no encontre mucha informacion en otro lado y ya estoy desesperado :(
  #2 (permalink)  
Antiguo 22/06/2008, 09:42
Avatar de Asgaroth  
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años
Puntos: 4
Respuesta: scriptaculous + php + Autocompleter

Enserio nadie tiene idea de por que no funciona?
  #3 (permalink)  
Antiguo 04/07/2008, 09:16
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: scriptaculous + php + Autocompleter

<script type="text/javascript">
new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "ajax.php?mode=tagsearch", {});
</script>


No se si es tarde y lo solucionaste, pero el metodo Autocompleter toma como referencia en este caso "autocomplete" la variable a enviar y luego estas enviando mediante "ajax.php...."otra variable mas. Bueno visto esto tienes que procesar la respuesta en el formato
<ul>
<li></li>
<li></li>
<li></li>
</ul>
Asi lo reconoce el autocompleter y te muestra en autocomplete_choices.

Espero que tenga razon ñ_ñ

Saludos
__________________
Drupal Argentina
  #4 (permalink)  
Antiguo 09/07/2008, 10:56
Avatar de Asgaroth  
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años
Puntos: 4
Respuesta: scriptaculous + php + Autocompleter

Gracias man, ya lo solucione pues era un problema de conficto con otro .js que tenia, borre ese y ya se arreglo.

Tienes razon cuando dices que en

new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "ajax.php?mode=tagsearch", {});


El toma como variable a enviar "autocomplete" y en "ajax.php?mode=tagsearch" si estoy enviando otra variable, esto lo hago para manejar todo en un solo archivo ajax.php

lo que esta dentro del ajax.php es un funcion que toma la variable por $_GET[] y hay yua sabe que es lo que quiero y que tipo de consulta etc.

asi mismo podria tener otro auto completer asi:

new Ajax.Autocompleter("autocomplete2", "autocomplete_choices2", "ajax.php?mode=playersearch", {});

seria otro autocompleter distinto pero que sua el mismo ajax.php, devolvera cosas distintas pues la funcion en ajax.php sabra que ya no debe ahcer una consulta sobre Tags como en el caso anterior sino que ahora la hara con players. asi manejo todo el ajax en un solo archivo :)

Gracias por tu respuesta =]
  #5 (permalink)  
Antiguo 10/07/2008, 09:36
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: scriptaculous + php + Autocompleter

Gracias, a tenerlo en cuenta cuando me haga falta entonces.
Saludos
__________________
Drupal Argentina

Etiquetas: scriptaculous
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 00:43.