Raytwo 0 Denunciar post Postado Abril 9, 2010 Opa galera, tudo bem? Depois de um certo sofrimento, finalmente achei um formulário que funcionasse... Até aí tudo bem, fiz ele em um swf e no swf principal, fiz um loadMovie pra esse formulário. Mas o que acontece? Ele desabilita os componentes... não consigo escrever nada nos textField e o texo nos botões desaparece... Por que isso acontece? O estranho é que se eu abrir ele no navegador ex:www.site.com/formulário.swf ele funciona e manda o email certo. aqui esta o codigo do formulario. //tecla tab. Por esse comando você controla a ordem de onde irá o cursor ao se clicar na tecla TAB; nome.text.tabIndex = 0; cidade.text.tabIndex = 1; email.text.tabIndex = 2; mensagem.text.tabIndex = 3; //ativa o curso no campo nome assim que essa tela for carregada; Selection.setFocus("nome"); //limpar formulario. Função que limpa o formulário depois que o email foi enviado; function limpar() { nome.text = ""; cidade.text = ""; estado.text = "selecione"; email.text = ""; mensagem.text = ""; } //enviar email function envia() { //Verifica se o campo "nome" está vazio, se estiver, aparece a mensagem senão ele verifica o proximo campo. //o mesmo acontece com o campo "email" e "mensagem". if (nome.text == null || nome.text == "") { statusMensagem.text = "Por favor, insira seu nome."; // a unica diferença no campo email é que além dele verificar se está vazio, ele também verifica se o conteúdo digitado possui "@" e "." } else if (email.text == "" || email.text == null || email.text.indexOf("@", 0) == -1 || email.text.indexOf(".", 0) == -1) { statusMensagem.text = "Por favor, insira um e-mail válido."; } else if (mensagem.text == null || mensagem.text == "") { statusMensagem.text = "Por favor, insira sua mensagem."; } else { //ainda falaremos muito sobre a classe LoadVars, é ela que junta tudo e manda para o php. var envia:LoadVars = new LoadVars(); envia.nome = nome.text; envia.cidade = cidade.text; envia.estado = estado.text; envia.email = email.text; envia.mensagem = mensagem.text; //confere se o email foi enviado envia.onLoad = function() { if (this.enviou == true) { //limpar o formulario depois que o email foi enviado. limpar(); statusMensagem.text = "Mensagem enviada com sucesso!"; } else { statusMensagem.text = "A mensagem não pode ser enviada, tente mais tarde!"; } }; //todos os paremetros para o arquivo php externo. envia.sendAndLoad("formulario.php",envia,"POST"); } } //////////////////////////////// //ao clicar no botão, chama a função enviar enviarBt.onRelease = function() { envia(); }; //ao clicar no botão, chama a função limpar limparBt.onRelease = function() { limpar(); }; Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Abril 9, 2010 coloca esse linha no inicio do código desse formulario: this._lockroot = true; []´s Compartilhar este post Link para o post Compartilhar em outros sites
Raytwo 0 Denunciar post Postado Abril 9, 2010 Obrigado Eder adicionei o codigo na 1ª linha do flash, agora o que acontece. o mouse troca de imagem (texto) e o combobox abre mas fica em branco, so que nao consigo escrever nos campos. Detalhe: o combobox carrega exatamente os campos de espaço que coloquei nele. Compartilhar este post Link para o post Compartilhar em outros sites
Raytwo 0 Denunciar post Postado Abril 9, 2010 para melhorar o entendimento de vcs eu disponibilizei o .fla dos arquivos index.fla index.swf clicar em contato formulario.fla formulario.swf obrigado ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Abril 9, 2010 para melhorar o entendimento de vcs eu disponibilizei o .fla dos arquivos index.fla index.swf clicar em contato formulario.fla formulario.swf obrigado ^^ Você tentou dar um Embed nos campos? Pode ser falta de incorporar as fontes! tenta ae! Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Abril 9, 2010 Não conseguir fazer o down. Abs Compartilhar este post Link para o post Compartilhar em outros sites
Raytwo 0 Denunciar post Postado Abril 12, 2010 Ae Jefferson como que dou Embed ? desculpa a demora pra responder... abs so atualizando os links para download index formulario desculpa a demora pra arrumar os links abs estou utilizando assim mas continua o problema q desativa o formulario this._lockroot = true; _root.window.loadMovie("fotos/galeria.swf"); //tecla tab. Por esse comando você controla a ordem de onde irá o cursor ao se clicar na tecla TAB; nome.text.tabIndex = 0; cidade.text.tabIndex = 1; email.text.tabIndex = 2; mensagem.text.tabIndex = 3; //ativa o curso no campo nome assim que essa tela for carregada; Selection.setFocus("nome"); //limpar formulario. Função que limpa o formulário depois que o email foi enviado; function limpar() { nome.text = ""; cidade.text = ""; estado.text = "selecione"; email.text = ""; mensagem.text = ""; } //enviar email function envia() { //Verifica se o campo "nome" está vazio, se estiver, aparece a mensagem senão ele verifica o proximo campo. //o mesmo acontece com o campo "email" e "mensagem". if (nome.text == null || nome.text == "") { statusMensagem.text = "Por favor, insira seu nome."; // a unica diferença no campo email é que além dele verificar se está vazio, ele também verifica se o conteúdo digitado possui "@" e "." } else if (email.text == "" || email.text == null || email.text.indexOf("@", 0) == -1 || email.text.indexOf(".", 0) == -1) { statusMensagem.text = "Por favor, insira um e-mail válido."; } else if (mensagem.text == null || mensagem.text == "") { statusMensagem.text = "Por favor, insira sua mensagem."; } else { //ainda falaremos muito sobre a classe LoadVars, é ela que junta tudo e manda para o php. var envia:LoadVars = new LoadVars(); envia.nome = nome.text; envia.cidade = cidade.text; envia.estado = estado.text; envia.email = email.text; envia.mensagem = mensagem.text; //confere se o email foi enviado envia.onLoad = function() { if (this.enviou == true) { //limpar o formulario depois que o email foi enviado. limpar(); statusMensagem.text = "Mensagem enviada com sucesso!"; } else { statusMensagem.text = "A mensagem não pode ser enviada, tente mais tarde!"; } }; //todos os paremetros para o arquivo php externo. envia.sendAndLoad("formulario.php",envia,"POST"); } } //////////////////////////////// //ao clicar no botão, chama a função enviar enviarBt.onRelease = function() { envia(); }; //ao clicar no botão, chama a função limpar limparBt.onRelease = function() { limpar(); }; index do teste sera que nao tem outro geito de carregar um swf externo ? porque o formulario nao ativa de geito nenhum. obrigado =) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 19, 2010 1 - O formulário se encontra no mesmo lugar que a action dele? 2 - Quando você ta carregando o formulário você ta colocando ele como root? você ta fazendo por acaso: btnContato = function() alvo.loadMovie("form.swf"); } E dentro desse form.swf é que se encontra o código que você disponibilizou? Porque se esta seguindo os passos que a galera disse n tem motivos para n funcionar. Campos de texto soh precisam de embed quando estão com mascaras caso contrario eles aparecem normalmente sem problema algum. Inclusive componentes etc, desde que tudo esteja na biblioteca do swf chamado... n tem motivos para n aparecer. Se não esta conseguindo... segue uma dica que eh sempre valida, crie um arquivo separado do que você ja esta fazendo e refaça tudo, crie novamente o formulario e um outro swf que vai chamar esse formulario... e ai teste para ver se os dois estão se comunicando, uma vez ajustado isso ai você parte para o proximo passo que eh juntar o que n tava funcionando com o que funciona. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Raytwo 0 Denunciar post Postado Abril 19, 2010 1 - O formulário se encontra no mesmo lugar que a action dele? Sim. O formulário é um MC com os campos dentro dele 2 - Quando você ta carregando o formulário você ta colocando ele como root? eu testei ele tando assim: this._lockroot = true; _root.window.loadMovie("formulario.swf"); quanto assim: this._lockroot = true; _root.window.loadMovie("index.swf"); você ta fazendo por acaso: btnContato = function() alvo.loadMovie("form.swf"); } não estou fazendo assim on (release) { loadMovie("formulario.swf", "alvo"); } E dentro desse form.swf é que se encontra o código que você disponibilizou? so teve uma alteração na linha 2 - _root.window.loadMovie("fotos/galeria.swf"); para "formulario.swf" ou "index.swf" testei com os dois o que acontece é que eu peguei esse formulario pronto, so fiz o botão chamando ele... ...entao a unica ideia que tive pra funcionar, era de mandar ele abrir em um html separado dai ele funciona... mas mesmo assim vou continuar fazendo testes, qualquer coisa se conseguir eu aviso =D obrigado Berseck e a todos abraço Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 19, 2010 Eu baixei meu form fiz um novo arquivo e fiz alvo.loadMovie('form.swf'); E tudo funcionou perfeitamente... então crieo que pode ser algum problema com esse form que você escolheu ai. Quando chegar em casa baixo os exemplos que você deu e testo... e explico direitinho se funcionou e como fiz para fazer funcionar... caso eu consiga claro. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Raytwo 0 Denunciar post Postado Abril 20, 2010 consegui fazer colocando assim no botao ... on (release) { form.loadMovie("formulario.swf"); //sendo o form o mc do formulario// //####### Aqui crio e abro clip dinâmicamente ########// var mc:MovieClip = _root.createEmptyMovieClip("mc", -1); mc.loadMovie("formulario.swf"); mc._x = 166;//posição em x do mc filme, mc._y = 100;//posição em y do mc filme, } \o/ haha catei um tuto la do seu blog =D e acrescentei o X / Y pra determinar onde ele aparece Abraços, Obrigado a todos... vou disponibilizar por algum tempo o .fla caso alguem esteja com o mesmo problema Clique aqui para baixar o formulario Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 20, 2010 Opa que bom que conseguiu... Eu fiz o seu form tbm funcionar... Da maneira como falei a cima 1 - crio um MC dinamico 2 - carrego nesse mc o formulario 3 - todas as actions referentes a esse formulario foram colocadas no formulario e nao no root Ai funcionou bunitinho :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites