F-gos 0 Denunciar post Postado Outubro 20, 2008 Pessoal bom dia! Criei o formulario de contato no flash com escolha de departamentos para receber o form. To usando um script php para fazer o envio. E combobox para escolher os departamentos. Agora depois de pronto o cliente me passou um xml com os departamentos e endereços de e-mails de cada departamento. Preciso passar os dados do xml para o combox e fazer com q ele envie para os endeços correspondentes..... Alguem tem uma idéia de como fazer de uma forma rápida essa mudança???? ex do xml: <?xml version="1.0" encoding="ISO-8859-1" ?> - <contato>- <departamento id="INFORMAÇÃO"> <email>apoio@site.com.br; qualidade@site.com.br; rube@site.com.br</email> </departamento> <departamento id="ADMINISTRAÇÃO"> <email>apoio@site.com.br; qualidade@site.com.br; rube@site.com.br</email> </departamento> <departamento id="SAC"> <email>apoio@site.com.br; qualidade@site.com.br; rube@site.com.br</email> </departamento> </contato> Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 21, 2008 e ai pessoal alguma dica???? Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 21, 2008 seria apenas usar a classe XML para carregar as informações e adiciona-la na combo-box dinamicamente, usando "combo.addItem()" tente começar a fazer, qualquer coisa é só postar []´s Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 22, 2008 Fala Eder... estou fazendo os processos... Primeiro: listar as variaveis do xml (variavel tag | variavel contato) Variavel tag: Nome do nó do xml que vai ser o nome do departamento que vai aparecer no combobox. Variavel contato: são os endereços de cada tag. Link do xml: http://www.starplast.com.br/admin/contato.xml.php NO flash estou criando as variaveis da seguinte forma: var oXML:XML = new XML(); oXML.ignoreWhite = true; oXML.onLoad = function():Void{ var qtd:XMLNode = this.firstChild; // for para listar os contatos e abaixo a variavel com os contatos. for(var i = 0; i < qtd.childNodes.length; i++){ var contatos: String = qtd.childNodes[i].childNodes[0]; var tag:XMLNode = qtd.childNodes[i]; // For denovo, desta vez para listar o nome da tag for(var n = 0; n < tag.childNodes.length; n++){ var info: String = qtd.childNodes[n].nodeName; cptexto.text += info.toUpperCase() + ": " + contatos + "\n"; } // Adicionamos uma quebra de linha para separar os valores de cada nó <dados> cptexto.text += "\n"; } } // Carregando documento XML oXML.load("[url="http://www.starplast.com.br/admin/contato.xml.php"]http://www.starplast.com.br/admin/contato.xml.php[/url]"); A action esta listando o contato e o nome da tag... mas esta com uma panizinha. Veja como esta aparecendo a listagem no dynamic text. DEPARTAMENTO: <email> fabiano.gomes@contin.com.br; fabiano2007@contin.com.br;</email> DEPARTAMENTO: <email> 0fabiano.gomes@contin.com.br; 0fabiano2007@contin.com.br;</email> DEPARTAMENTO: <email> 1fabiano.gomes@contin.com.br; 1fabiano2007@contin.com.br;</email> O nome da tag esta saindo como departamento que é realmente o nome da tag. Mas preciso que apareça o valor do id dessa tag. ex: <departamento id"RECLAMAÇÕES"> entendeu???? como faço para puxar o id da tag??? Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 22, 2008 você quer pegar o atributo do nó do XML, então é assim: var id = qtd.childNodes[n].attributes.id []´s Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 23, 2008 Eder veja minha ideia e diga se esse é o caminho correto ou se tem uma outra forma de fazer: preciso jogar os valores dessa var no combo box para poder escolher os departamentos... no meu combo box hoje esta dessa forma: (instanciado de "cbdesti") cbdesti.dataProvider = [ {label:"Escolha um departamento", data:""}, {label:"INFORMAÇÃO", data:"email@email.com.br;teste@email.com.br"}, {label:"VENDAS", data:"email@email.com.br;teste@email.com.br"},]; com a variavel do ID criada ficaria assim: cbdesti.dataProvider = [ {label:"Escolha um departamento", data:""}, {label:"id", data:"contatos"},]; esta correto é dessa forma mesmo? Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 23, 2008 dei uma alterada no seu codigo, testa assim para ver var qtd:XMLNode = this.firstChild; // for para listar os contatos e abaixo a variavel com os contatos. for(var i = 0; i < qtd.childNodes.length; i++){ var contatos: String = qtd.childNodes[i].childNodes[0].childNodes; var info: String = qtd.childNodes[i].attributes.id; cptexto.text += info + ":::::: " + contatos + "\n"; cptexto.text += "\n"; } } Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 23, 2008 OK Eder deu certo sua opção de código. Está aparecendo normal no dynamic text.... agora to tentando passar os valores das variaveis para o combo box da forma q citei assima mas num ta aparecendo nada no combo. achei esse tópico aqui mesmo do imasters pra tentar seguir mas acabei me perdendo + ainda: http://imasters.com.br/artigo/5237/pre...mbobox_no_flash Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 23, 2008 Tentei dessa forma mas num funfo.... essa parte já exige um conhecimento + avançado em action. Coisa q ainda não tenho... hehe!! /* array responsável pelos dados que serão adicionados ao combo box */ var arrList:Array = new Array(); arrList.push({label: "--- Selecione a categoria ---"}) function populaArray ():Void { arrList.push({label: info + data: contatos}); } cbdesti.dataProvider = arrList; populaArray(); Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 24, 2008 e ai pessoal alguma dica!!! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 24, 2008 bom cara... O que eu usei no combo box no caso foi o seguinte cb.dataProvider = [ {label:"Escolha uma Opção", data:""}, {label:"Missão Empresarial de Engenharia & Business", data:"Grupo de Engenharia"}, {label:"Vivência Internacional de Moda", data:"Grupo de Moda"}, {label:"Vivência Internacional em Saúde", data:"Grupo de Saúde"}]; cb.editable = true; cb.selectedIndex = 0; Bem parecido com o seu só que no caso eu decidi já qual seriam as opções.... Ai voce só teria de colocar nos labels a variavel que você quer usar no lugar... creio eu :P Não sei puxa variavel de bd para o flash xD acho que você deve saber melhor do que eu ^^ mas meu código foi esse ai cb = instacia da combo box Abraçõs Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 24, 2008 cara num é só jogar as variaveis no labels não..... pelo menos do jeito q eu fiz não funcionou não. cbdesti.dataProvider = [ {label:"Escolha uma Opção", data:""}, {label:"info", data:"contatos"}]; cbdesti.editable = true; cbdesti.selectedIndex = 0; assim não funcionou não.... na hora de testar o flash com control+enter no combo Box aparece o nome da variavel "info". Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 24, 2008 Então por isso que disse que você deveria chamar a variável :S pq no label: "AQUI VAI O RESULTADO DA VARIAVEL", data:"Aqui o que você quer que ele use de informação" Eu como já disse antes não faço a menor ideia de como puxar um dado de um xml... ou php de volta para flash xP só sei enviar... Por isso eu tava dando a ideia >< quem sabe pudesse ser assim :( Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 24, 2008 o FOR ficaria assim: var arrList:Array = new Array(); for(var i = 0; i < qtd.childNodes.length; i++){ var contatos: String = qtd.childNodes[i].childNodes[0].childNodes; var info: String = qtd.childNodes[i].attributes.id; cptexto.text += info + ":::::: " + contatos + "\n"; cptexto.text += "\n"; arrList.push({label: info, data: contatos}); } cbdesti.dataProvider = arrList; acho que já deve dar isso, mas a logica seria essa Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 28, 2008 Fala Eder boa tarde!! Cara não funcionou não.. to usando o action 2.0. no dynamic text funciona normal mas no combo nada!!!! segue a action: var oXML:XML = new XML(); oXML.ignoreWhite = true; oXML.onLoad = function():Void{ var qtd:XMLNode = this.firstChild; // for para listar os contatos e abaixo a variavel com os contatos. var arrList:Array = new Array(); for(var i = 0; i < qtd.childNodes.length; i++){ var contatos: String = qtd.childNodes.childNodes[0].childNodes; var info: String = qtd.childNodes.attributes.id; arrList.push({label: info, data: contatos}); } } contato.dataProvider=arrList; // Carregando documento XML oXML.load("http://www.starplast.com.br/admin/contato.xml.php"); Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 28, 2008 coloca o "contato.dataProvider=arrList;", logo depois do FOR, dentro do onLoad é só isso []´s Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 28, 2008 Eder agora funfo .... vo testar aqui o recebimento do form. Mas se apareceu no comboBox deve receber normal. Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Outubro 28, 2008 Eder valeu mesmo cara!! funcionou legal!!! o formulario fico muito bom!!! Vou postar ele la na galeria de criação!!!! pra gelera q precisar. t+ Compartilhar este post Link para o post Compartilhar em outros sites