Leo KW 0 Denunciar post Postado Outubro 24, 2008 Fala galera, to tentando montar um formulário de indicar o site atravéz de email via flash + asp, o código do flash é este: stop(); System.useCodepage = true; aviso = ""; nome = ""; email = ""; name_friend = ""; email_friend = ""; function envia() { if (nome eq "" or nome eq undefined) { aviso = "Name can't be blank"; Selection.setFocus("nome"); } else if (email eq "" or email eq undefined) { aviso = "Email can't be blank"; Selection.setFocus("email"); } else if (email.indexOf('@', 0) == -1 || email.indexOf('.', 0) == -1) { aviso = "E-mail is invalid"; Selection.setFocus("email"); } else if (name_friend eq "" or name_friend eq undefined) { aviso = "Friend's name can't be blank"; Selection.setFocus("name_friend"); } else if (email_friend eq "" or email_friend eq undefined) { aviso = "Friend's email can't be blank"; Selection.setFocus("email_friend"); } else if (email_friend.indexOf('@', 0) == -1 || email_friend.indexOf('.', 0) == -1) { aviso = "Friend's e-mail is invalid"; Selection.setFocus("email_friend"); } else { sendContato = new LoadVars(); sendContato.varNome = nome; sendContato.varEmail = email; sendContato.varName_friend = name_friend; sendContato.varEmail_Friend = email_friend; sendContato.onLoad = function(success) { if (sendContato.stats == 1) { aviso = "Message has been succesfully sent!"; nome = ""; email = ""; name_friend = ""; email_friend = ""; } else if (sendContato.stats == 0) { aviso = "Wrong, try again later."; } else if (sendContato.stats == undefined) { aviso = "Wrong, try again later."; } }; sendContato.sendAndLoad("enviar_contato.asp",sendContato,"POST"); } }E o código da página ASP é este: <% dim strBody, strMail dim iMsg strBody = "<html><head><title>TAM Vacations!</title></head>" &_ "<style> body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#383838; } </style>" &_ "<body bgcolor=""#000000"" leftmargin=""0"" topmargin=""0"" marginheight=""0"" marginwidth=""0"">" &_ "<table width=""100%"" height=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">" &_ "<tr><td> </td></tr>" &_ "<tr>" &_ "<td align=""center"" valign=""middle"" border""0""> <a href=""http://www.tamvacations.com/scripts/videos/02/?script=02/"">" &_ "<img src=""http://www.tamvacations.com/scripts/videos/mail.jpg"" border=""0""></a>" &_ "</td>" &_ "</tr>" &_ "<tr><td> </td></tr>" &_ "</table>" &_ "</body></html>" set iMsg = CreateObject("CDO.Message") With iMsg .To = Request("varEmail_Friend") .From = Request("varEmail") .Subject = "Mensagem do Site" .HTMLBody = strHTML .Send End With Set iMsg = Nothing IF Err <> 0 THEN Response.Write("stats=0") ELSE Response.Write("stats=1") END IF %>Mas não funciona, ficando dando "erro, tente mais tarde" >.< alguém sabe oque pode ser?! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 24, 2008 Erro pode estar no if que você coloca essa função: sendContato.stats == 1 Pois o asp não esta enviando de volta a resposta para o flash... ao meu ver tenta dar um trace(stats) antes da função sendContato.onLoad = function(success) { if (sendContato.stats == 1) { aviso = "Message has been succesfully sent!"; nome = ""; email = ""; name_friend = ""; email_friend = ""; } else if (sendContato.stats == 0) { aviso = "Wrong, try again later."; } else if (sendContato.stats == undefined) { aviso = "Wrong, try again later."; } }; e veja o que ele responde :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 24, 2008 eai velho, axo que o erro é isso mesmo, ele responde undefined no trace. oq eu teria q fazer? ^.- abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 24, 2008 Ou seja ele não ta buscando a variável do asp você terá de criar uma função para chamar essa variável Vou usar um exemplo brunobispo como referencia: on(press){ var L:LoadVars = new LoadVars();//Cria um objeto responsável por enviar e receber as variáveis L.valor = "bla bla bla";//Valor a ser enviado L.sendAndLoad("http://localhost/endereco_do_asp.asp", L, "POST");//Endereço do arquivo asp com a função - Para testes no ambiente de criação, use endereço completo, como no exemplo. L.onLoad = function(sucesso){ if(sucesso){//Se tudo ocorrer bem trace(this.retorna);//Ação realizada depois que a variável for enviada e o php carregado } } }eno asp você vai criar uma variavel para receber a informação... e depois escrever um write com a variavel resposta como a variavel que recebeu de resposta ;) Usei a lógica... Não sei se na pratica funciona :P pq isso ai foi feito para php ^^ e como não testei não posso dar certeza Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 24, 2008 no arquivo asp eu creio que a resposta pro flash esteja nessa parte: Set iMsg = Nothing IF Err <> 0 THEN Response.Write("stats=0") ELSE Response.Write("stats=1") END IF se ele respondesse o 1 daria certo, o problema é que ele não está respondendo nem o 0, ele não está respodendo nada, ou seja, indefinido. mais eu uso esse arquivo .asp em outros sites e funciona, e o servidor tem suporte a asp, muito estranho. vou tentar usar essa sua lógica pra ver se adianta! Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 27, 2008 Não consegui ainda =/ Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 28, 2008 você tem certeza que o valor esta vindo indefinido? se você colocar um caixa de texto no palco, e dentro do evento onLoad, colocar caixa.text = sendContato.stats //ou caixa.text = sendContato o que ele joga? []´s Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 28, 2008 você tem certeza que o valor esta vindo indefinido?Fala Eder, Fiz o teste com essa caixa de texto, ele devolve undefined mesmo! Eu to axando que o problema está no ASP, será?! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 28, 2008 2 coisas, o que mostrou quando você testou caixa.text = sendContato e posta o seu código do flash desse teste []´s Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 29, 2008 Fala Eder, o código é o mesmo: stop(); System.useCodepage = true; aviso = ""; nome = ""; email = ""; name_friend = ""; email_friend = ""; function envia() { if (nome eq "") { aviso = "Name can't be blank"; Selection.setFocus("nome"); } else if (email eq "") { aviso = "Email can't be blank"; Selection.setFocus("email"); } else if (email.indexOf('@', 0) == -1 || email.indexOf('.', 0) == -1) { aviso = "E-mail is invalid"; Selection.setFocus("email"); } else if (name_friend eq "") { aviso = "Friend's name can't be blank"; Selection.setFocus("name_friend"); } else if (email_friend eq "") { aviso = "Friend's email can't be blank"; Selection.setFocus("email_friend"); } else if (email_friend.indexOf('@', 0) == -1 || email_friend.indexOf('.', 0) == -1) { aviso = "Friend's e-mail is invalid"; Selection.setFocus("email_friend"); } else { sendContato = new LoadVars(); sendContato.varNome = nome; sendContato.varEmail = email; sendContato.varName_friend = name_friend; sendContato.varEmail_friend = email_friend; sendContato.onLoad = function(success) { caixa.text = sendContato.stats if (sendContato.stats == 1) { aviso = "Message has been succesfully sent!"; nome = ""; email = ""; name_friend = ""; email_friend = ""; } else if (sendContato.stats == 0) { aviso = "Error, please try again later."; } else if (sendContato.stats == undefined) { aviso = "Error, please try again later 2."; } }; sendContato.sendAndLoad("enviar_contato.asp",sendContato,"POST"); } } function limpa() { aviso = ""; nome = ""; email = ""; name_friend = ""; email_friend = ""; Selection.setFocus("nome"); }Eu só fiz uma caixa de texto dinamica com a instancia "caixa" e coloquei o caixa.text = sendContato.stats dentro da função. Eu fiz uma coisa tb, caso a resposta fosse 0 (falso), ele apareçe a msg de erro normal, e casso fosse undefined, ele apareçe a msg de erro com um número 2 no final, e é oque aconteçe, apareçe a msg com o 2 no final, e apareçe o undefined na caixa de texto. Por isso que eu acho que o erro está no arquivo ASP, pq ele não ta devolvendo nada pro flash, por isso ele da o undefined, certo?! Abraços! :D Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 29, 2008 pra ter certeza q o erro é na pagina ASP, deixa assim: sendContato.onLoad = function(success) { if (success) { caixa.text = sendContato } else{ caixa.text = "erro no ASP" } }; []´s Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 29, 2008 Fala Eder, Deu "erro no ASP" msm na caixa de texto! =/ oq será que pode ser?! Me pareçe estar tudo certo no arquivo ASP tb!! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 29, 2008 ele talvez não esteja achando o endereço do arquivo .ASP , testa colocar o endereço completo, http://www.site.com/enviar_contato.asp, no sendAndLoad Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 29, 2008 Fala Eder, Coloquei o endereço completo, e ta dando o mesmo erro!!! =/ ja conferi suporte a ASP do servidor, o código do ASP é esse aqui: <% dim strBody, strMail dim iMsg strBody = "<html><head><title>TAM Vacations!</title></head>" &_ "<style> body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#383838; } </style>" &_ "<body bgcolor=""#000000"" leftmargin=""0"" topmargin=""0"" marginheight=""0"" marginwidth=""0"">" &_ "<table width=""100%"" height=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">" &_ "<tr><td> </td></tr>" &_ "<tr>" &_ "<td align=""center"" valign=""middle"" border=""0"">" &_ "<a href=""http://www.tamvacations.com/scripts/videos/02/?script=02/"">" &_ "<img src=""http://www.tamvacations.com/scripts/videos/mail.jpg"" border=""0""></a>" &_ "</td>" &_ "</tr>" &_ "<tr><td> </td></tr>" &_ "</table>" &_ "</body></html>" set iMsg = CreateObject("CDO.Message") With iMsg .To = Request("varEmail_friend") .From = Request("varEmail") .Subject = Request("varNome") & " lhe indicou este site! Confira!" .HTMLBody = strHTML .Send End With Set iMsg = Nothing IF Err <> 0 THEN Response.Write("stats=0") ELSE Response.Write("stats=1") END IF %> Quando eu tento acessar o ASP via browser, da esse erro: CDO.Message.1 error '80040220' The "SendUsing" configuration value is invalid. /scripts/videos/enviar_contato.asp, line 26 A linha 26 é a que tem o .Send Não sei mais oque fazer! :wacko: Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 29, 2008 é parece que o erro esta no ASP mesmo, para tirar a prova você pode criar um formulário em HTML e testar mandar essas mesmas informações para essa pagina eu não manjo se ASP, então não sei o que pode ser, mas posta lá no fórum de ASP que o pessoal pode ajudar melhor []´s Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Outubro 29, 2008 Postei la no fórum de ASP, espero que possam me ajudar lá, estou ficando louco por causa desse formulário ja! Link: http://forum.imasters.com.br/index.php?showtopic=312429 Abraços! Compartilhar este post Link para o post Compartilhar em outros sites