• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

alphasil

TypeError: Error #1006: getDate não é uma função.

5 mensagens neste tópico

Olá ppl;

Mais uma dúvida que não consigo perceber onde está o erro;

Tenho um datepicker para entrada e outro para saida.

e sempre que carrego em "Enviar" aparace esse erro no output do flash

TypeError: Error #1006: getDate não é uma função.

o código é este:

nome.text = email.text = tel.text = aloj.text =
np.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( "reservas.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
   if( nome.text == "" || email.text == "" ||
   tel.text == "" || aloj.text == "" || np.text == "" || entrada.getDate() == ""|| entrada.getDate() == "")
   {
      message_status.text = "Preencha todos os campos.";
   }
   else if( !validate_email(email.text) )
   {
      message_status.text = "Introduza email válido.";
   }
   else
   {
      message_status.text = "a anviar...";
      
      var email_data:String = "nome=" + nome.text
+ "&email=" + email.text
+ "&tel=" + tel.text
+ "&Alojamento=" + aloj.text
+ "&Pessoas=" + np.text
+ "&Entrada=" + entrada.getDate()
+ "&Saida=" + saida.getDate();
                  
      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
{
nome.text = "";
email.text = "";
tel.text = "";
aloj.text ="";
np.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 = "A sua mensagem foi enviada correctamente.";
      timer = new Timer(500);
      timer.addEventListener(TimerEvent.TIMER, on_timer);
      timer.start();
   }
   else
   {
      message_status.text = "Falha!! Houve um erro no envio.";
   }
}

function on_timer(te:TimerEvent):void 
{
   if( timer.currentCount >= 10 )
   {
      nome.text = email.text = tel.text = aloj.text =
np.text = "";
      timer.removeEventListener(TimerEvent.TIMER, on_timer);
   }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem primeiro tens que declarar as vars entrada e saida como tipo dates

var entrada:Date = new Date();

var saida:Date = new Date();

depois, como a função devolve Number() não podes compara-los como tipo string no if :thumbsup: o resto parece-me bem :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi

Obrigado pela ajuda;

Não percebi foi essa:

"depois, como a função devolve Number() não podes compara-los como tipo string no if"

Como faço então no if??

pus essa 2 variáveis e agora aparece isso:

1083: Syntax error: else is unexpected. (linha 21)

1083: Syntax error: else is unexpected. (linha 25)

no if tenho isso:

if( nome.text == "" || email.text == "" ||
tel.text == "" || aloj.text == "" || np.text == "" || entrada.getDate() == ""|| entrada.getDate() == "");
{

nome.text = email.text = tel.text = aloj.text =
np.text = entrada.text = saida.text = "";

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

var entrada:Date = new Date();
var saida:Date = new Date();
var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "reservas.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
if( nome.text == "" || email.text == "" ||
tel.text == "" || aloj.text == "" || np.text == "" || entrada.getDate() == ""|| entrada.getDate() == "");
{
	message_status.text = "Preencha todos os campos.";
}
else if( !validate_email(email.text) )
{
	message_status.text = "Introduza email válido.";
}
else
{
	message_status.text = "a anviar...";

	var email_data:String = "nome=" + nome.text
+ "&email=" + email.text
+ "&tel=" + tel.text
+ "&Alojamento=" + aloj.text
+ "&Pessoas=" + np.text
+ "&Entrada=" + entrada.getDate()
+ "&Saida=" + saida.getDate();
				   
	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
{
nome.text = "";
email.text = "";
tel.text = "";
aloj.text ="";
np.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 = "A sua mensagem foi enviada correctamente.";
	timer = new Timer(500);
	timer.addEventListener(TimerEvent.TIMER, on_timer);
	timer.start();
}
else
{
	message_status.text = "Falha!! Houve um erro no envio.";
}
}

function on_timer(te:TimerEvent):void 
{
if( timer.currentCount >= 10 )
{
	nome.text = email.text = tel.text = aloj.text =
np.text = "";
	timer.removeEventListener(TimerEvent.TIMER, on_timer);
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

agora que vi melhor o teu codigo, qual é o sentido de teres aí uma comparação para a data? lol isto é, tu tas a comparar uma função ( x.getTime() ) k devolve SEMPRE um numero e tas a comparar se está vazia? :P

e em relação a tua pergunta, entrada.getTime() devolve um numero e não uma string, para poderes fazer uma comparação vais ter que converter esse numero em string :thumbsup:

um exemplo:

var entrada:Date= new Date();

var sEntrada:String;

sEntrada = String(entrada);

e dps trocas isto que tens no if:

entrada.getDate() == "" por sEntrada == ""

mas como disse primeiro, fazeres essa comparação passa sempre porque nunca irá estar vazia :thumbsup:

ahh e tas a duplicar a comparação :thumbsup:

np.text == "" || entrada.getDate() == ""|| entrada.getDate() == "");

espero k tenhas percebido :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi,

Deve tar mesmo mal alguma coisa por aqui, agora é isto:  :wallbash:

TypeError: Error #1034: Falha de coerção de tipo: não é possível converter igi::DatePicker@f53a1a1 em Date.

at flash.display::Sprite/constructChildren()

at flash.display::Sprite()

at flash.display::MovieClip()

at dream_fla::reservas_47()

at flash.display::MovieClip/gotoAndStop()

at dream_fla::MainTimeline/frame67()

at flash.display::MovieClip/prevFrame()

at dream_fla::MainTimeline/btn_enter()

nome.text = email.text = tel.text = aloj.text =
np.text = "";

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

var entrada:Date= new Date();
var sEntrada:String;
sEntrada = String(entrada);
var saida:Date= new Date();
var sSaida:String;
sSaida = String(saida);
var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "reservas.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
if( nome.text == "" || email.text == "" ||
tel.text == "" || aloj.text == "" || np.text == "" || sEntrada == ""|| sSaida == "")
{
	message_status.text = "Preencha todos os campos.";
}
else if( !validate_email(email.text) )
{
	message_status.text = "Introduza email válido.";
}
else
{
	message_status.text = "a anviar...";

	var email_data:String = "nome=" + nome.text
+ "&email=" + email.text
+ "&tel=" + tel.text
+ "&Alojamento=" + aloj.text
+ "&Pessoas=" + np.text
+ "&Entrada=" + sEntrada
+ "&Saida=" + sSaida;

Que se passa??

Ainda por cima o data picker aparece todo louco,  ve como tá em http://dreamferias.com no link reservas

Obrigado pela tua ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora