Provincias españolas, comboBox para tus formularios
Componentes, actionScript, Flash MX & XML | Febrero 24th, 2004Versión para imprimir
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í .
Febrero 24th, 2004 at 6:56 pm
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
Febrero 24th, 2004 at 7:45 pm
Hola Luisfer,
Tengo preparado otro muy similar, digamos para acabar de asimilar el tema, stay tuned
Junio 29th, 2004 at 1:05 am
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?
Junio 29th, 2004 at 1:45 am
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
Julio 1st, 2004 at 1:11 am
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?
Julio 1st, 2004 at 1:22 am
Hola Jose,
toni@e-tonilopez.com
saludos
Julio 2nd, 2004 at 12:44 am
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
Julio 2nd, 2004 at 1:21 am
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!