Jump to content


Photo

Limpar Campos [resolvido]


  • Faça o login para participar
14 replies to this topic

#1 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 19/11/2007, 11:34

Olá pessoal!

Estou usando um formulário simples de autenticação com dois campos:

LOGIN E SENHA:

O problema é que a pessoa digita o login e a senha, e ao clicar no botão abre uma nova página usando o target como _BLANK.

Os campos devem ser esvaziados por questão de segurança, porque caso contrário o login e a senha fica no campo e quem pegar a maquina pode clicar de novo e acessar, caso algum usuário esqueça a página aberta.

Alguém poderia me ajudar:

Na hora do envio (onSubmit do Form) to usando a funão abaixo!

Meu código abaixo:
function checaLogin(form)
{
if(acesso.login.value == "") {
alert("Digite seu login!");
acesso.login.focus();
acesso.login.select();
return false;
}
if(acesso.senha.value == "") {
alert("Digite sua senha!");
acesso.senha.focus();
acesso.senha.select();
return false;
}
return (true);
}

Tentei colocar acesso.login.value = "" mas não da certo!

Agradeço

Edição feita por: PHP-man, 19/11/2007, 14:49.

Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 19/11/2007, 12:36

Tente com:

form.acesso.login.value = "";
form.acesso.senha.value = "";

Flws...
(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 19/11/2007, 13:44

Para se fazer isso vc deve usar 2 etapas .... se não, não da certo!

Só esvaiar o campo não funciona pois o JS esvazia antes de enviar os dados para autentificação, então o sistema que irá pegar os dados vão receber os campos vazios também.

A solução é colocar junto com os campos de login, 'campos' do tipo 'hidden' para o JS ter de adicionar o que foi digitado nos campos normais neles ... para apagar e trasferir é simples:

function checaLogin(form) {
 if (acesso.login.value == "") {
  alert("Digite seu login!");
  acesso.login.focus();
  return false;
 } else if (acesso.senha.value == "") {
  alert("Digite sua senha!");
  return false;
 } else {
  // Trasfere os valores entre campo e hidden
  acesso.login_hidden.value = acesso.login.value;
  acesso.senha_hidden.value = acesso.senha.value;
  // Limpa os Campos
  acesso.login.value = "";
  acesso.senha.value = "";
  return true;
 }
}


#4 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 19/11/2007, 14:48

Paulo André obrigado pela ajuda, mas do jeito que colocou não funciona já tinha tentado assim!

sk15 muito obrigado, funcionou perfeitamente, nunca tinha imagina que precisava desses hidden, foi de grande valor sua ajuda!

T+
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#5 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 18/11/2008, 17:55

Como eu chamo a função ?
e como deve ser o nome do formulário ?

#6 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 19/11/2008, 05:56

No onsubmit, como foi falado ali em cima.
<form action="..." onsubmit="return checaLogin()">
O nome é acesso.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#7 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 20/11/2008, 00:51

No onsubmit, como foi falado ali em cima.

<form action="..." onsubmit="return checaLogin()">
O nome é acesso.


Pra mim não funcinou...
ele apenas dá o aviso se eu não preencher o Login ou a senha, e não limpa os campos...
no Firefoz nem avisa que os campos não forma preenchidos...

O codigo está assim

<script>
function checaLogin(form) {
if (acesso.login.value == "") {
alert("Digite seu login!");
acesso.login.focus();
return false;
} else if (acesso.senha.value == "") {
alert("Digite sua senha!");
return false;
} else {
// Trasfere os valores entre campo e hidden
acesso.login_hidden.value = acesso.login.value;
acesso.senha_hidden.value = acesso.senha.value;
// Limpa os Campos
acesso.login.value = "";
acesso.senha.value = "";
return true;
}
}
</script>


Meu html :

<form name="acesso" action="ttes.php" method="post" onsubmit="return checaLogin()" target="_blank">
<p>Login
<input type="text" name="login" id="login" />
<br />
senha:
<input type="text" name="senha" id="senha" />
</p>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
</form>



#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 20/11/2008, 06:48

Adicione o document. antes dos acesso. Crie dois campos hidden, com o nome login_hidden e senha_hidden.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 20/11/2008, 07:26

Adicione o document. antes dos acesso. Crie dois campos hidden, com o nome login_hidden e senha_hidden.


Agora funcinou, mas somente no internet explorer, vou postar o codigo se alguém quiser usar...
Se eu conseguir fazer funcionar no Firefox eu posto o novo código aqui:

<script>
function checaLogin(form) {
if (acesso.login.value == "") {
alert("Digite seu login!");
acesso.login.focus();
return false;
} else if (acesso.senha.value == "") {
alert("Digite sua senha!");
return false;
} else {
// Trasfere os valores entre campo e hidden
document.acesso.login_hidden.value = document.acesso.login.value;
document.acesso.senha_hidden.value = document.acesso.senha.value;
// Limpa os Campos
document.acesso.login.value = "";
document.acesso.senha.value = "";
return true;
}
}
</script>


e o código

<form name="acesso" action="teste.php" method="post" onsubmit="return checaLogin()" target="_blank">
<p>Login
<input type="text" name="login" id="login" />
<br />
senha:
<input type="password" name="senha" id="senha" />
</p>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
<input type="hidden" name="login_hidden" id="login_hidden" />
<input type="hidden" name="senha_hidden" id="senha_hidden" />
</form>



#10 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 20/11/2008, 07:32

Ainda tem acesso sem document.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#11 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 20/11/2008, 07:52

Então mas naqueles lá de cima eu não coloquei porque era a verificação da senha e do login...
e essa verificação já estava funcionando...
Agora eu coloquei e deu certo...

EDITADO
não deu certo rs .. a pagina do login recebe os valores em branco rs..

Edição feita por: viniciusjau, 20/11/2008, 08:08.


#12 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 20/11/2008, 08:48

Você está pegando os valores dos campos hidden?
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#13 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 20/11/2008, 09:17

estou recuperando os valores normais...

$usuario = $_POST['login'];
$senhas = $_POST['senha'];
echo $usuario;
echo "<br />";
echo $senhas;

será que não tem algo a ver o ID ou o LABEL dos campos ?

#14 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 20/11/2008, 10:01

O sk15 deu a resposta.

Pegar os valores dos campos que foram apagados não tem como.
// Limpa os Campos
document.acesso.login.value = "";
document.acesso.senha.value = "";
É por isso que foi usado dois campos hidden.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#15 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 20/11/2008, 10:30

Ahn tá entendi.. eu tenho que recuperar os valores do campo hidden..
Agora sim.. rs

obrigado pela paciencia...




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq