Tenho um formulario em Flash, descobri que o host da empresa tem o componente persist aspemail, quando clico no botao submit (enviar)o email esta chegando certinho no meu email da empresa, porem, os dados inseridos chegam como undefined (indefinido). Nao esta lendo as variaveis e ja faz 2 semanas que nao acho a solucao!
Tem varios posts sobre o problema, mas a solucao que eh bom... nada!!!
Sera que alguem poderia me enviar um codigo valido? ou corrigir o que esta faltando no meu?
Desde ja agradeco!
Segue o codigo que estou usando em Flash e em ASP:
ASP - enviar para o meu email:
<% Set Mail=Server.CreateObject("Persits.MailSender") Mail.Host="WinMailSrv" Mail.Subject="Contact from Level Platforms - form" Mail.From="nome@telsist.com" Mail.AddAddress "nome@telsist.com" Mail.Body = "Telsist website - Level Platforms"&Chr(13) & _ "Name:"& Request("name")& Chr(13) & _ "Company:"& Request("company")& Chr(13) & _ "Telephone:"& Request("tel")& Chr(13) & _ "E-mail:"& Request("email") On Error Resume Next ' catch errors Mail.Send If Err <> 0 Then ' error occurred response.write(Err.Description) else Response.Write "<script type='text/javascript'>alert('Thank You.\nYour message has been successfully sent to us! We will handle your request as soon as possible!.');</script>" Response.Redirect "http://www.telsist.com" End If %> <%Set Mail = Nothing%>
Formulario Flash:
// declarar object LoadVars // (o container dos seus dados a serem enviados e recebidos) var email:LoadVars = new LoadVars(); // Sumario dos objectos no palco: // 1. Botao com nome-de-instancia: sendButton // 2. MovieClip com o nome-de-instancia: mcContact // 3. Campos-de-texto input (dentro do mcContact), // com nomes-de-instancia: name, company, tel e email // 1. ----------------------------------------------- // acao para o botao sendButton.onRelease = function() { email["name"] = mcContact["name"].text; email.company = mcContact.company.text; email.tel = mcContact.tel.text; email.email = mcContact.email.text; validar_formulario(); }; // Cuidado! // Com nomes-de-instancia coincidentes com sintaxes usadas pelo Flash // mcContact.name = "mcContact"; !!! // Devia ser: mcContact["name"] // 2. ------------------------------------------------ // Validar os dados enviados (forma simples): // variavel que vai, ou nao, autorizar o envio // assumiremos primeiro q tudo esta' certo! var tudo_certinho:Boolean = true; // variavel que vai isolar o erro (qual o campo nao preenchido) var o_que_esta_errado:String = ""; // // funcao que vai checar o input do usuario // neste caso, apenas vai saber se existe texto nesses campos ou nao // e notificar qual o que nao foi preenchido // function validar_formulario(){ // if(mcContact["name"].length == 0){ tudo_certinho = false; o_que_esta_errado = "preencha o seu nome"; // }else if(mcContact.company.length == 0){ tudo_certinho = false; o_que_esta_errado = "preencha o nome da sua firma"; // }else if(mcContact.tel.length == 0){ tudo_certinho = false; o_que_esta_errado = "preencha o numero de telefone"; // }else if(mcContact.email.length == 0){ tudo_certinho = false; o_que_esta_errado = "preencha o seu email"; } // if(tudo_certinho == true){ enviar_receber(); }else{ // // ouput para o flash trace(o_que_esta_errado); // // ouput no browser getURL("javascript:alert('"+o_que_esta_errado+"');"); } } // // 3. ------------------------------------------------ // A funcao chamada, quando tudo_certinho == true // e vai enviar os dados e receber uma resposta do asp // function enviar_receber() { // enviar email.sendAndLoad("http://www.telsist.com/send.asp",email,"POST"); // // receber email.onLoad = function(success) { if (success) { gotoAndPlay("email ok"); } else { gotoAndPlay("email fail"); } delete this.onLoad; }; } //
Edição feita por: Renan L. Queiroz, 16/03/2010, 08:58.
Inclusão da tag [ code ] para postagem de scripts