Google Web after-hours

Contador en flash JSFL Traductor

Hacer de las tareas pesadas un simple trámite es una de las principales virtudes que nos concede la tecnologí a, y por que no decirlo una obligación que tenemos.

En esta ocasión planteo un sencillo fla que nos proporciona un comboBox con las províncias Españolas, muy útil para incluir en formularios.

Para este fla, nos apoyaremos en un archivo XML como base de datos. Antes de escribir código, veamos un ejemplo:


provincias.xml

<provincias>
<provincia id="Ãlava"/>
<provincia id="Albacete"/>
<provincia id="Alicante"/>
....
</provincias>

provincias.fla

// -- interpretar xml usando el código de página del sistema
// -- esto permite en caso del español, el uso de 'ñ' y acentos
System.useCodePage = true;
// -- declaro un array 'provincias' donde recojeré cada nodo proví­ncia
provincias = new Array();
// -- función que recoge la selección del combo
function seleccion(component) {
	// muestra la provincia seleccionada
	selec.text = component.getSelectedItem().label;
}
// -- creo el nuevo objeto XML
miXML = new XML();
// -- evitar que Flash interprete los espacios en blanco y los
// -- caracteres invisibles (tabuladores, retornos de carro) como
// -- elementos de nuestro documento XML
miXML.ignoreWhite = true;
// -- si XML es cargado correctamente recorro el arbol añadiendo
// -- el valor del atributo 'nombre' en el array 'provincias'
// -- (he utilizado 'succes' como argumento, pero podría ser cualquier otro)
miXML.onLoad = function(success) {
	if (success) {
		for (var i = 0; i<this.firstChild.childNodes.length; i++) {
			provincias.push(this.firstChild.childNodes[i].attributes.id);
		}
		// -- proveo de datos al componente comboBox
		micombo.setDataProvider(provincias);
		// -- defino la función para el manejo del comboBox
		miCombo.setChangeHandler("seleccion");
	}
};
// -- cargo XML
miXML.load("provincias.xml");

Descarga los archivos para este tutorial aquí .

8 Responses to 'Provincias españolas, comboBox para tus formularios'

  1. luisfer Says:

    oye muy bueno el ejemplo y el link, mas para la gente que como ya quiere empezar a tomar el xml como una buena opcion
    grasias toni :)

  2. tonilopez Says:

    Hola Luisfer,
    Tengo preparado otro muy similar, digamos para acabar de asimilar el tema, stay tuned ;)

  3. jose Says:

    hola que tal??

    necesitaba este pero con la lista de paises, hice lo mismo, reforme el xml con el listado de paises y funciona. El problema es que debo de utilizar uno con un listado de paises y otro con un listado de solicitudes, por mas que intento no me funciona y siempre en el MX2004PRO aparece un error de codigo asi “System.useCodePage = true;",

    Lo peor es que funciona, cargan los dos xml pero la seleccion solamente la permite realizar en un solo campo de texto

    sabes que puedo hacer?

  4. tonilopez Says:

    Hola Jose,

    no sé que debe ser, si quieres, me envias el fla y miro.

    Quita la lí nea System.useCodePage = true
    y en el XML escribe en la primera lí nea:

    <?xml version="1.0" encoding="UTF-8"?>

    saludos

  5. jose Says:

    Gracias!!.. tengo el 50% resuelto:
    Ya cargo los 2 xml pero no funciona el:

    function seleccion(component) {
    // muestra la provincia seleccionada
    selec.text = component.getSelectedItem().label;
    }

    es decir la funcion que muestra la seleccion que el usuario hizo en el combobox, ya he cambiado de todas las maneras posibles y nada!!!

    pues me daba como pena pedir tanta ayuda pero a que mail te puedo enviar el archivo y me dices que puede ser?

  6. tonilopez Says:

    Hola Jose,

    toni@e-tonilopez.com

    saludos

  7. jose Says:

    Pues de esas cosas de la vida que le di una ultima revisada al archivo y lo unico que no me dejaba mostrar la seleccion hecha en el combobox era la versión del actionscript!!!

    miralo ya aqui funcionando!!
    www.nodrizza.com/abcnet/contactenos

    muchas gracias!!!….
    ya he aprendido bastante con esto aunque no tengo ni poco de experiencia en programación pero en el camino voy aprendiendo…. es muy util este blog!!!!

    Saludos!!!

    JOSE

  8. tonilopez Says:

    Bien! celebro que lo solucionaras.

    Para poder verlo:

    www.nodrizza.com/abcnet/

    y hacer clic en contacto, si vas directo al link que pones, no permite el acceso.

    saludos!