Ir para conteúdo

POWERED BY:

Arquivado

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

Billie_Joe

Limpar automaticamente campo de password

Recommended Posts

Bom dia pessoal,

 

 

estou desenvolvendo um formulário com apenas dois campos (para login). Neles eu coloquei como texto padrão "digite seu email" e "digite sua senha". A idéia é que quando o usuário clicar no campo ele apaga e libera para inclusão dos dados.

 

Utilizei o seguinte script pra fazer isso:

 

function limparpadrao(campo) {
	if (campo.value == campo.defaultValue) {
		campo.value = "";
	}
}

function escreverpadrao(campo) {
	if (campo.value == "") {
		campo.value = campo.defaultValue;
	}
}

e no html ficou assim:

 

<input type="text" name="username" size="24" value="digite seu nome" onfocus="limparpadrao(this);" onblur="escreverpadrao(this);" />

Está funcionando ok, porém queria fazer com que quando eu clicasse no campo de senha ele automaticamente transformasse-o para type="password".

 

Alguma idéia de como fazer isso?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Billie,

Eu acho q isso q você quer fazer não dá, pelo menos até onde eu sei, fiz uns testes e não deu...

 

Mas tente isso, só que ficará meio estranho:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<title>Untitled</title>
</head>

<cfparam name="tipocampo" default="">
<script>


function limparpadrao(campo) {
	if (campo.value == campo.defaultValue) {
		campo.value = "";
	}
}

function escreverpadrao(campo) {
	if (campo.value == "") {
		campo.value = campo.defaultValue;
	}
}

function MudarFoco(campo,senha){
campo.style.visibility='Hidden';
senha.style.visibility='';
senha.focus();


}


</script>


<body>



<input type="text" name="username" size="24" value="digite seu nome" onfocus="limparpadrao(this);" onblur="escreverpadrao(this);" />
<input type="text" name="username" size="24" value="digite sua senha" onfocus="MudarFoco(this, SEnha)"  />
<input type="Password" name="SEnha" size="24" value="digite sua senha"  style="visibility:'hidden'" onfocus="limparpadrao(this);" onblur="escreverpadrao(this);" />


</body>
</html>

 

Ou ainda melhor, deixe apenas com um label digite a senha fora do campo senha, acho q ficará melhor!!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente, alterar o type do campo , de text para password, não funciona no IE, só no FF, a solução é assim, usar dois campos. Tem alguns tópicos aqui no Imasters falando sobre isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

function muda(){
	var form = document.forms['teste'];
	var cmpo = form.elements['texto'];
	if(cmpo.type != 'password'){	
		var clone = cmpo.cloneNode(true);
			clone.type = "password";
			
			form.replaceChild(clone,cmpo);
			setTimeout(
				function(){
					form.elements['texto'].focus();
				},
				60
			);
	}
}

<form name="teste">
	<input type="text" name="texto" value="ABC" onfocus="muda()" />
</form>

Fiz uns experimentos aqui, e funcionou no IE 6-7-8, Fx2, Opera 9 e Safari 3 ... Se quiser tentar implementar no seu projeto, pelo menos evita adicionar um outro elemento....

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.