Comunidad de diseño web y desarrollo en internet online

comboBox event URL,URLReques,URLLoader,etc

Citar            
MensajeEscrito el 13 Ene 2010 01:54 pm
Hola , bueno esta es mi primer pregunta estoy entrando resientemente ha AS3 .bueno tengo un problema , tengo un combobox"" y un xml"trips.xml" y no se uqe ahcer para converitr las urls guardas en xml en Links. megustaria acher ese evento desde un boton llamar la url qeu esta mostrando en el index del combo :crap: no se si comprenderan alguien me pueda ayudar . le agradeceria de ante mano ...Saludos.

XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<travel>
<trip city="">
</trip>
<trip city="jugando">
<url>www.ejemplos.com.tk</url>
</trip>
<trip city="potrero de rose">
<url>www.jauriakn.net</url>
</trip>
<trip city="isumi azuka">
<url>www.sumorika.org</url>
</trip>
</travel>



Codigo:

var xmlLoader:URLLoader = new URLLoader();
var tripsURL:URLRequest = new URLRequest("trips.xml");
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
xmlLoader.load(tripsURL);

var tripsXML:XML = new XML();
tripsXML.ignoreWhitespace = true;

function xmlLoaded(eva:Event):void{
tripsXML = XML(xmlLoader.data);
for(var tripNombre:String in tripsXML.trip){
trace(tripsXML.trip[tripNombre].@city);
cbTrips.addItem({label:tripsXML.trip[tripNombre].@city});

}
}

//desde aqui no se que hacer para llamar como link a url que tengo guardado en xml
function elegirCity(eva:Event):void{
trace("selected" + eva.target.selectedIndex);
juto.text = tripsXML.trip[eva.target.selectedIndex].title;
URLmostrar.htmlText = tripsXML.trip[eva.target.selectedIndex].url;
}

cbTrips.addEventListener(Event.CHANGE,elegirCity);

Por desshi

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Ene 2010 10:07 pm
hola, yo prefiero crear un dataProvider para el combox , muy al estilo label , data , por ejemplo :

archivo xml 'data.xml'.

Código XML :

<?xml version="1.0" encoding="utf-8"?>
<travelData>
   <place>
      <name>London </name>
      <url>http://www.visitlondon.com/</url>
   </place>
   <place>
      <name>Espain</name>
      <url>http://www.spain.info/</url>
   </place>
   <place>
      <name>Mexico City</name>
      <url>http://www.mexicocity.gob.mx/</url>
   </place>
</travelData>


Frame 1

Código ActionScript :

import fl.controls.ComboBox;
import fl.data.DataProvider;

var xmlData:XML;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE,onComplete);

var placesCB:ComboBox = new ComboBox();
placesCB.width = 200;
placesCB.move(200,200);
addChild(placesCB);

placesCB.addEventListener(Event.CHANGE, changeHandler);

function changeHandler(evt:Event):void
{
   if (ComboBox(evt.target).selectedItem.data != "")
   {
      var url:String = (ComboBox(evt.target).selectedItem.data);
      trace(url);
      //navigateToURL(new URLRequest(url),"_blank");
   }
}


function onComplete(evt:Event):void
{
   xmlData = new XML(evt.target.data);
   var places:Array = new Array({label:"Select a Place",data:""});
   for each (var place:XML in xmlData.place)
   {
      places.push({label:place.name.toString(),data:place.url.toString()});
   }
   placesCB.dataProvider = new DataProvider(places);
}

xmlLoader.load(new URLRequest("data.xml"));


en el evento change verificamos que [data] exista, si existe entonces creamos una variable del tipo string , que puede ser usada en navigateToURL y este nos puede llevar a la url , eso es todo , espero te sirva.


Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 13 Ene 2010 11:41 pm
Hola , jn_Flash me parece buena idea la tuya te estoy agradecido no era lo qeu buscaba peor voy adaptar mi ideas con la tuya , lo qeu pensaba hacer es llamar al evento del item desde un boton eso quisera agregar . bueno por ya estoy mas feliz GRACIAS.

Por desshi

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Ene 2010 12:17 am
ahh okz, haver si te entendi , la solucion mas rapida es que a tu boton movieClip o una Clase , le crees una propiedad algo asi :

Código ActionScript :

//.....
placesCB.addEventListener(Event.CHANGE, changeHandler);
bCheck.addEventListener(MouseEvent.CLICK,onClick);

function changeHandler(evt:Event):void
{
   if (ComboBox(evt.target).selectedItem.data != "")
   {
      var url:String = (ComboBox(evt.target).selectedItem.data);
                //reqURL es la propiedad
      bCheck.reqURL = url;
      //navigateToURL(new URLRequest(url),"_blank");
   }
}

function onClick(evt:MouseEvent):void
{
   if(evt.target.reqURL)
   {
      trace(evt.target.reqURL);
   }else 
   {
      trace("selecciona un lugar del ComboBox");
   }
}

//......

no solo puedes pasar el url, igual pasas toda la referencia del item.


Jonathan.

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 15 Ene 2010 06:40 am
Hola otra vez, jn_Flash gracias por todo en verdad me ayudaste y te vuelvo agraceder ante mano tu cidgo em sirvio .espero devolver el favor algun dia.
Saludos :D :) :cool:

Por desshi

2 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.