Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/06/2007, 10:55
xayide
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: cargar listbox con xajax

Haber, he conseguido avanzar un pokito. Ahora no me da ningún error, pero los combobox no se cargan. Vamos, que no hace nada.
Tengo todo el código en la misma página php. Os adjunto todo lo relativo a xajax y los combobox, haber si alguien me ayuda.

Código PHP:
<?
include("GestorPisos.php");
require (
"xajax/xajax.inc.php"); 

//echo "printJavaScript";


class myXajaxResponse extends xajaxResponse

{  
  var 
$gp;
  
    function 
addCreateOption($sSelectId$sOptionText$sOptionValue)  
    {  
//echo "entro a addCreateOption";
        
$this->addScript("addOption('".$sSelectId."', '".$sOptionText."', '".$sOptionValue."');");
    }

    function 
addCreateOptions($sSelectId$aOptions)
    {
//echo "entro a addCreateOptions";echo gettype($aOptions);echo gettype($sSelectId);
    
        
foreach( $aOptions as $sOptionText => $sOptionValue)        
        {
            
$this->addCreateOption($sSelectId$sOptionText$sOptionValue);
        }
    }
    function 
cargarListBox($localidad){
    
//echo "entro a cargarListBox";
    
if($localidad==""$localidad="Donosti";
        
$gp=new GestorPisos();
        
        
$res=$gp->getZonas($localidad);
        
        
$i=0;
        
$array;
        
//echo "localidad:"; echo $localidad;
        //echo "entro aquí";
        
while($row=mysql_fetch_row($res)){
        
//echo"entro aquí2";
            
$array[$i]=$row[0];//echo $row[0];
            
$i++;
        }
                
//print_r($array); //echo gettype($array);
        
$this->addCreateOptions("zona"$array);
    }
}


//echo "voy a ejecutar objResonse1";
$objResponse = new myXajaxResponse();
$xajax = new xajax();
//echo "voya ejectuar objResponse->cargarListBox(localidad);";
//$objResponse->cargarListBox($localidad);
//echo "he ejecutado cargarlistbox";

//$xajax->registerFunction("cargarListBox"); //echo "1";
$xajax->registerFunction("cargarListBox", &$objResponse"cargarListBox");
$xajax->processRequests(); //echo "2";
//return $objResponse;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Administraciones Etxaniz---Etxaniz Administrazioak</title>
<?
$xajax
->printJavascript("xajax/"); 
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//-->
xajax_cargarListBox("Donosti");
</script>
etcetcetc
Código PHP:
<select name="localidad" onChange="xajax_cargarListBox(document.formulario.localidad.value)">
                                                            <!---->
                                                            <option value="Donosti" selected="selected">Barcelona</option>
                                                            <option value="Madrid">Lasarte</option>
                                                         </select>
                                                        </label></td>
                                                      <td><span class="m_text"><span class="Estilo14"><? echo $zonacli?></span></span></td>
                                                      <td><span class="Estilo15">
                                                        <select name="zona" >
                                                          <option value="las"><? echo $selezona?></option>
                                                         
                                                        </select>
Haber si alguien me dice qué le pasa. Muchs gracias!!