Mario eu tentei reproduzir a função que vc forneceu mas está ocorrendo o seguinte erro "1120: Access of undefined property Container."
e Não funciona a limpeza dos campos Estou chamando da seguinte forma cleanForm(Form_Dados); se eu coloco for each(var item:Object in itensdoFormulario) { trace("item: " + item); trace("item.text: " + item.text); Acontece o seguinte erro ReferenceError: Error #1069: Property text not found on mx.containers.FormItem and there is no default value. public static function cleanForm(form:Object) : void { var itensdoFormulario:Array = form.getChildren(); for each(var item:Object in itensdoFormulario) { if (item is Container) { cleanForm(item); } else{ if (item is TextInput || item is DateField || item is TextArea) { item.text = "" } } } } On 25 jun, 08:49, "Mário Júnior" <[EMAIL PROTECTED]> wrote: > Hum..... interessante.... eu fiz uma assim.... > > No meu caso, trabalho com Form padrão do flex, e se caso eu tiver algum > container dentro de um FormItem, a função chama a si mesma passando o > container como argumento. Por isso o argumento é um Object (poderia ser um > Container... alterem se quiser) > > Lembrando que todo container do Flex já extends da classe Container.as que, > por sua vez, implementa a interface IContainer. Graças ao conceito de > herança e poliformismo é possível descobrir facilmente quem é um container > ou não. > > Dessa forma, posso ter infinito níveis de hierarquia de containers dentro do > form. > > /** > * Limpa os campos de um formulário > */ > public static function cleanForm(form:Object) : void { > //pega um arrays de filhos do Container... > var itensdoFormulario:Array = form.getChildren(); > > // para cada filho ... > for each(var item:Object in itensdoFormulario) { > //... se for um outro container > if (item is Container) { > //chama a função novamente passando o filho como > argumento... > cleanForm(item); > } else { //senão é container, então é um objeto conhecido > //aqui estou limapando alguns campos... gostei da idéia > do switch, pode ser interessante, alterem se quiser.... > if (item is TextInput || > item is DateField || > item is TextArea) { > item.text = "";//limpa a propriedade 'text' do > objeto conhecido > } > } > } > } > > Fim. > > Esse método faz parte do EloUtils, e por ser estático eu o chamo da seguinte > forma: > EloUtils.cleanForm(<id_do_form>) // pode ser aplicado encima de qualquer > container. > > Abraços > > Mario Junior > > -- > Mário de Souza Júnior > Programador Java / Flex : AS3 / PHP > (44) 4009-3550 Maringá-PRhttp://blog.mariojunior.com > [EMAIL PROTECTED] (gtalk, msn, etc..) --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---