Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda para validar um formulario flash...


Jairocell

Pergunta

Bom dia estou com um problema pois não consigo validar um campo no meu formulario de contato

é o campo de email: Var: your_email e isntancia: t2.

Seguinte ele envia, mais se eu não preencher nada ele manda o email como anonimo, e preciso que

pelo menos o campo email seja validado.

Botão enviar:

on (rollOver) {
    this.gotoAndPlay("s1");
}
on (releaseOutside, rollOut) {
    this.gotoAndPlay("s2");
}



on (release) {
    for (i=1; i<_parent.fields_descriptions.length; i++) {
        if (_parent[_parent.fields_descriptions[i][1]]!=_parent.fields_descriptions[i][2]) {
            this[_parent.fields_descriptions[i][1]]=_parent[_parent.fields_descriptions[i][1]]+"&777&"+_parent.fields_descriptions[i][2];
        }
        _parent.reset_txt(_parent["t"+i], _parent.fields_descriptions[i][1], _parent.fields_descriptions[i][2]);
    }

    this.recipient=_parent.rec;
    getURL("contact."+_parent.serv, "_blank", "POST");
    
}
frame:
rec = _root.recipient;
serv = _root.server_option;
var fields_descriptions = Array("", Array("t1", "your_name", "Seu nome:"), Array("t2", "your_email", "E-mail:"), Array("t3", "message", "Menssagem:"), Array("t4", "your_company", "Empresa:"), Array("t5", "telephone", "Telefone:"));
function reset_txt(name, name2, value) {
    path = eval(_target);
    path[name2] = value;
    this[name].onSetFocus = function() {
        path = eval(_target);
        if (path[name2] == value) {
            path[name2] = "";
        }
    };
    this[name].onKillFocus = function() {
        path = eval(_target);
        if (path[name2] == "") {
            path[name2] = value;
        }
    };
}
for (i=1; i<=fields_descriptions.length; i++) {
    reset_txt("t"+i, fields_descriptions[i][1], fields_descriptions[i][2]);
}
Php:
<?
Error_Reporting(E_ALL & ~E_NOTICE);

 while ($request = current($_REQUEST)) {
     if (key($_REQUEST)!='recipient') {
        $pre_array=split ("&777&",  $request);
        $post_vars[key($_REQUEST)][0]=$pre_array[0];
        $post_vars[key($_REQUEST)][1]=$pre_array[1];
    }
    next($_REQUEST);
}



reset($post_vars);

$recipient="datastatis@gmail.com";
$subject="From ".$post_vars['your_name'][0];
$headers= "From: ".$post_vars['your_email'][0] ."\n";
 $headers.='Content-type: text/html; charset=iso-8859-1';
 $message='';
  while ($mess = current($post_vars)) {
      if ((key($post_vars)!="i") && (key($post_vars)!="your_email") && (key($post_vars)!="your_name")) {

         $message.="<strong>".$mess[1]."</strong>&nbsp;&nbsp;&nbsp;".$mess[0]."<br>";
    }
    next($post_vars);
 }

mail("$recipient", $subject,  "
<html>
<head>
 <title>Contato</title>
</head>
<body>
<br>
  ".$message."
</body>
</html>" , $headers);
echo ("Sua mensagem foi enviada com sucesso!");

?>
<!--<script>
    resizeTo(300, 300);
</script>-->

no php ele chama uma página que diz "Sua mensagem foi enviada com sucesso!" e não consigo tirar isso de chamar outra página será que não posso deixar isso direto ou quando ela terminaro envio fechar automatico...

Desde de já agradeço.

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

cria um if

if(t2 = ""){
 //Ação para mandar preencher.
}
no php ele chama uma página que diz "Sua mensagem foi enviada com sucesso!" e não consigo tirar isso de chamar outra página será que não posso deixar isso direto ou quando ela terminaro envio fechar automatico...

Melhor você perguntar na área de PHP

Link para o comentário
Compartilhar em outros sites

  • 0
cria um if

if(t2 = ""){
 //Ação para mandar preencher.
}
no php ele chama uma página que diz "Sua mensagem foi enviada com sucesso!" e não consigo tirar isso de chamar outra página será que não posso deixar isso direto ou quando ela terminaro envio fechar automatico...
Melhor você perguntar na área de PHP
Eu fiz o if mais deu dois erro no AS..
on (release) {
    if(t2 = ""){
        status.text = "Preencha o campo Email";
    }
    else{
    for (i=1; i<_parent.fields_descriptions.length; i++) {
        if (_parent[_parent.fields_descriptions[i][1]]!=_parent.fields_descriptions[i][2]) {
            this[_parent.fields_descriptions[i][1]]=_parent[_parent.fields_descriptions[i][1]]+"&777&"+_parent.fields_descriptions[i][2];
        }
        _parent.reset_txt(_parent["t"+i], _parent.fields_descriptions[i][1], _parent.fields_descriptions[i][2]);
    }

    this.recipient=_parent.rec;
    getURL("contact."+_parent.serv, "_blank", "POST");
    
}
}

Link para o comentário
Compartilhar em outros sites

  • 0
Posta o erro ai por favor.

1 deles acho que foi falha minha

Tente o if assim:

if(t2 == ""){
status.text = "Preencha o campo Email";
}
Thelon obrigado pela atenção, fiz isso não deu erro mais também não funciona:
on (release) {
    
        if (t2 == "") {
        _root.msgerro._visible = 1;
        _root.msgerro.erro = "Preencha o campo Email";
        selection.setFocus("t2");
        }

ai eu fiz um MC inst: msgerro no frame 5 da layer7 (dos botões)...

valida.jpg

ele passa direto, e vai para o envio de email...

Sei que pode esta confuso isso mais é que eu estou aprendendo flash.

o site é esse mesmo em versão de testes.

pagina teste

Link para o comentário
Compartilhar em outros sites

  • 0

Para ele parar no frame 7 você precisa de um stop(); no frame

Tente fazer as alterações:

Coloquei elas como comentário no código para facilitar

on (release) {
    
        if (t2 == "") {
//Até onde eu sei ._visible é true ou false.
        _root.msgerro._visible = 1;
        _root.msgerro.erro = "Preencha o campo Email";
        selection.setFocus("t2");
}

Achoque essa linha:

_root.msgerro.erro = "Preencha o campo Email";

ficaria

_root.msgerro.erro.text = "Preencha o campo Email";

E se for usa ela não precisa da linha com o _visible

Link para o comentário
Compartilhar em outros sites

  • 0
Para ele parar no frame 7 você precisa de um stop(); no frame

Tente fazer as alterações:

Coloquei elas como comentário no código para facilitar

on (release) {
    
        if (t2 == "") {
        _root.msgerro.erro = "Preencha o campo Email";
        selection.setFocus("t2");
        }

Nada... eu fiz isso mas mesmo assim ele não mostra a msg de erro.

teria como eu te passar oarquivo .fla...?

Editado por Thelon
Link para o comentário
Compartilhar em outros sites

  • 0

Velho o if tem que ser assim:

if(t2.text == "E-mail:"){
    btn_enviar.enabled = false;
    }
Na verdade não precisava do t2=="" por que sempre que estiver vazio ele altera sozinho E-mail Agora não consegui descobrir como fazer ele não enviar. Tenta dar uma fuçada ai. Obs: Coloquei btn_enviar por que esqueci a instancia do seu MC. Obs²: Coloquei enabled para desabilitar o botão não sei se da certo dessa maneira. Mas ficaria algo mais ou menos assim:
if(t2.text == "E-mail:"){
    btn_enviar.enabled = false;
    }else{
        btn_enviar.enabled = true;
}

Eu fiquei das 8:30 até agora tentando mas não deu certo.

Porém consegui ver o problema no IF

Tenta entrar em contato com quem fez esse template ou se no site não tem nenhuma informação sobre o formulário algo do tipo.

Link para o comentário
Compartilhar em outros sites

  • 0
Velho o if tem que ser assim:

if(t2.text == "E-mail:"){
    btn_enviar.enabled = false;
    }
Na verdade não precisava do t2=="" por que sempre que estiver vazio ele altera sozinho E-mail Agora não consegui descobrir como fazer ele não enviar. Tenta dar uma fuçada ai. Obs: Coloquei btn_enviar por que esqueci a instancia do seu MC. Obs²: Coloquei enabled para desabilitar o botão não sei se da certo dessa maneira. Mas ficaria algo mais ou menos assim:
if(t2.text == "E-mail:"){
    btn_enviar.enabled = false;
    }else{
        btn_enviar.enabled = true;
}
Eu fiquei das 8:30 até agora tentando mas não deu certo. Porém consegui ver o problema no IF Tenta entrar em contato com quem fez esse template ou se no site não tem nenhuma informação sobre o formulário algo do tipo.
Bom dia, Thelon desculpa a demora é aqui estamos com problemas em um dos nossos servidores, rapaz eu testei e nada, mas é isso um médico não descobri com facilidade o que o outro fez numa cirurgia... e é um template torna tudo mais complicado... vou ver se eu acho o email do desenvolvedor parece ser Hugo o nome dele... e também não vou desistir. Se conseguir eu posto... Ah lembrando que sua ajuda já me deu um caminho obrigado...
on (release) {
    if(t2.text == "E-mail:"){
    _root.contacts_txt14.enabled = false;
    }else{
        _root.contacts_txt14.enabled = true;
}

Link para o comentário
Compartilhar em outros sites

  • 0

<![CDATA[

if(t2.text == "e-mail:" ||

t1.text == "your_name:" ||

t3.text == "your_company:" ||

t4.text == "telephone:" ||

t5.text == "message:"){

mx.controls.Alert.show("Preencha todos os campos obrigatórios!", "Atenção");

}else if(t2.text.length("e-mail:") < 8){

mx.controls.Alert.show("O e-mail preenchido não é válido!", "Atenção");

}else if(isNaN(t5.text.length < 8 )){

mx.controls.Alert.show("O campo Telefone deve conter 8 números!", "Atenção");

}else{

loadVariablesNum("contact."+_parent.serv, "_blank", "POST");

mx.controls.Alert.show("Entraremos em contato para confirmar sua participação.", "Milk");

}

]]>

Oi, desculpa o sumisso, eu tava muito atolado no trabalho, voltei a "brincar" com aquele template, ai soluções

vieram e com elas duvidas também... hehehe funciona mais ele fica checando só o campo telefone, se eu digito

os 8 numeros ele vem com o alert de erro, se eu comentar a parte do telefone ele vai direto pra confirmação

de envio, e não olha o campo mensagem.

Teria algo de muito errado no codigo?

Obs.:Não consegui usar o inserir codebox...

Editado por Jairocell
Link para o comentário
Compartilhar em outros sites

  • 0

É isso mesmo eu tava querendo fazer com que apenas os campos de email e mensagem fossem obrigatórios. Só que acabei esquecendo de tirar o restante.

<![CDATA[

f(t2.text == "e-mail:" ||

t3.text == "Message:"){

mx.controls.Alert.show("Preencha todos os campos obrigatórios!", "Atenção");

}else if (t2.text.indexOf("@") == -1 || t2.text.indexOf(".") == -1){

mx.controls.Alert.show("O e-mail preenchido não é válido!", "Atenção");

}else if (t3.text.length == "Message:"){

mx.controls.Alert.show("O campo messagem deve ser...!", "Atenção");

}

]]>

Tentei dessa forma e nada...

if (t2.text == ""){

mx.controls.Alert.show("O e-mail preenchido não é válido!", "Atenção");

}else if (t3.text == "Message:"){

mx.controls.Alert.show("A mensagem deve conter no minimo uma letra/caracter!", "Atenção");

}else{

loadVariablesNum("contact."+_parent.serv, "_blank", "POST");

mx.controls.Alert.show("Entraremos em contato para confirmar sua participação.", "Obrigado");

}

}

Não entendo o que pode estar errado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...