Ir para conteúdo

POWERED BY:

Arquivado

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

Leo KW

Problema com form

Recommended Posts

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

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

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

no 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

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

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

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

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

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

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

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

é 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

×

Informação importante

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