Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

F-gos

[Resolvido] Contato: escolher o departamento e enviar o form

Recommended Posts

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

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

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 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

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

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

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

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

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

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

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

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 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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.