Ir para conteúdo

POWERED BY:

Arquivado

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

Derme

[Resolvido] focus() X Firefox

Recommended Posts

Olá!

 

Gostaria de saber porque a propriedade focus() está funcionando para o IE e não está para o Firefox.

A função abaixo faz o seguinte:

ao deixar o campo a função testa o número de caracters digitados. Se

for menos de 8 dá um alert de erro, limpa o campo e mantem o foco no próprio campo. No IE funciona perfeitamente mas no Firefox o foco passa para o proximo campo (que é um textarea)

 

<script language="JavaScript" type="text/javascript">
/// Numero mínimo de caracteres para senha
function num_min(campo){
   tamanho_string=document.getElementById(campo).value
   if(tamanho_string.length<8){
      alert('Por favor, a senha deve conter 8 caracteres')
	   document.getElementById(campo).value="";
	   document.getElementById(campo).focus();
   }
}
</script>


<input type="text" onblur="num_min('senha_user')" name="senha_user" id="senha_user">
<br>
<textarea name="msg" id="msg"></textarea>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu desconhecia esse bug do Firefox. Realmente, pesquisando, encontrei várias pessoas com o mesmo problema. Parece que a saída encontrada foi:

 

<html>
<head>

<script type="text/javascript">
function focar(el) {
	var objInput = document.getElementById(el);
	
	if(objInput.value.length < 10 && objInput.value.length > 0) {
		alert("Texto pequeno!");
		objInput.value="";
		var frase = "assumeFoco('"+el+"')";
		frase = eval(frase);
		window.setTimeout("assumeFoco()", 250);
	}
}

function assumeFoco() {
	var objInput = document.getElementById('nome');
	objInput.focus();
}
</script>
</head>
<body>
<input id="nome" type="text" onblur="focar('nome')">
<br><input id="email" type="text">
</body>
</html>

Estranho o Firefox não aceitar o focus() dessa maneira. Muitos scripts antigos terão problema com isso... Não gosto muito do Firefox e o problema com scripts é um dos motivos... Eles bem que poderiam facilitar um pouco mais nosso trabalho http://forum.imasters.com.br/public/style_emoticons/default/joia.gif !

 

Você também pode tentar o script:

<script type="text/javascript">
window.onload = function focar() {
	var objInput = document.getElementById("nome");
	
	objInput.onblur = function () {
		if(objInput.value.length < 10 && objInput.value.length > 0) {
			alert("Texto pequeno!");
			objInput.value="";
			window.setTimeout(function () {objInput.focus()}, 250);
		}
	}
}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew mesmo!

Mas cá pra nós, morro de raiva com isso, algo relativamente simples de fazer e por um bug do FF tenho que recorrer ao fórum, porque dessa forma aí eu não saberia fazer mesmo :(

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera 1 Problema resolvido depois de dias focus() no Firefox.


Estava há dias gtentando dar msm de erro na página atual e focar. Valeu klonder !


Esse Fierox judia ! rs


Esse testado e funcionando legal ... parabéns galera !

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.