Ir para conteúdo

POWERED BY:

Arquivado

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

jaidelson

Possível erro no script

Recommended Posts

Pessoal estou de volta!

Agora é vero. Estou assistindo aulas de AS3 pela net e estou fascinado pelo que se pode fazer com ele. Vaoms ao que interessa. Como estou no início eu não estou ainda a ponto de identificar erros ou possíveis erros em scripts prontos. Na pressa e urgencia usei um template pronto pra fazer um site de uma cliente ( vejam o link: http://www.johns.com.br ) mas no ítem fale com a gente ele dá pau em alguns acentos e nas letras W e Z. Postei um tópico em PHP (já que ele chama um php pra enviar o form) e o pessoal me falou que era problema no flash. Então estou postando o código para vcs me ajudar a achar o que está acontecendo. Tenho duas alternativas: Ou eu procuro outro form em flash e troco ou acho o erro no que já está pronto e sigo em frente. Aguardo ajuda dos experts.

Segue o código:

 

// C o p y r i g h t © f l a s h m o . c o m
// D e v e l o p e d b y M i n T h u


contact_name.text = contact_email.text = contact_subject.text = 
contact_message.text = message_status.text = "";

send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "send_email.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
	if( contact_name.text == "" || contact_email.text == "" ||
		contact_subject.text == "" || contact_message.text == "" )
	{
		message_status.text = "* Please fill up all text fields.";
	}
	else if( !validate_email(contact_email.text) )
	{
		message_status.text = "* Please enter the valid email address.";
	}
	else
	{
		message_status.text = "sending...";
		
		var email_data:String = "name=" + contact_name.text
				 + "&email=" + contact_email.text
				 + "&subject=" + contact_subject.text
				 + "&message=" + contact_message.text;
				 
		var URL_vars:URLVariables = new URLVariables(email_data);
		URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
		
		URL_request.data = URL_vars;
		var_load.load( URL_request );
		var_load.addEventListener(Event.COMPLETE, receive_response );
	}
}

function reset(e:MouseEvent):void
{
	contact_name.text = contact_email.text = contact_subject.text = 
	contact_message.text = message_status.text = "";
}

function validate_email(s:String):Boolean 
{
	var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
	var r:Object = p.exec(s);
	if( r == null ) 
	{
		return false;
	}
	return true;
}

function receive_response(e:Event):void
{
	var loader:URLLoader = URLLoader(e.target);
 var email_status = new URLVariables(loader.data).success;
	
	if( email_status == "yes" )
	{
		message_status.text = "Success! Your message was sent.";
		timer = new Timer(500);
		timer.addEventListener(TimerEvent.TIMER, on_timer);
		timer.start();
	}
	else
	{
		message_status.text = "Failed! Your message cannot sent.";
	}
}

function on_timer(te:TimerEvent):void 
{
	if( timer.currentCount >= 10 )
	{
		contact_name.text = contact_email.text = contact_subject.text = 
		contact_message.text = message_status.text = "";
		timer.removeEventListener(TimerEvent.TIMER, on_timer);
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique as caixas de texto se os embeds incluem latin... se for Flash extrangeiro raramente vai ter embed de LATIN e por isso não tem acentuação.

 

Depois utilize o código

System.useCodePage = true.

 

Que pode resolver seu problema só com esses dois passos...

 

Se as caixas de texto já se encontram com a acentuação correta e todas as letras normais quando você digita.

Mas quando você envia o e-mail ele chega para o cliente acentuação quebrada.

 

Ai você tem que adicionar HEADERS ao seu mail.php para que ele faça codificação UTF-8 que utilizado pelo flash para que ocorra tudo corretamente.

 

Abraços

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.