Ir para conteúdo

POWERED BY:

Arquivado

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

Rafael Sousa

[Resolvido] Evento em campo texto

Recommended Posts

Bom dia,

 

Estou com um probleminha de manipulação de eventos. Eu preciso disparar um evento no momento em que o usuário modificar o valor de um campo. Quando ele digita, ou muda valores, entrando os dados via teclado mesmo, é fácil conseguir isso com "onkeyup" e "onchange". Porém, o firefox tem um mecanismo que abre uma lista de contexto no campo, contendo dados armazenados, na qual o usuário pode escolher algo já digitado, clicando em um dos elementos que aparecem na lista. Ok, quando ele faz isso, que evento é disparado? onkeyup, onblur e onclick (mesmo porque onclick é quando ele clica no campo) não funcionam para esse caso. Alguém já tratou esse tipo de situação?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, existe um atributo HTML 'não padrão', que é o autocomplete="off", assim você desativaria essa lista.

acredito que o onblur vai ser disparado de qualquer jeito, pois ele precisa 'deixar o campo' (depois de ter escolhido o valor na lista)

 

http://chrisholland.blogspot.com/2004/11/banks-protect-privacy-disable.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, existe um atributo HTML 'não padrão', que é o autocomplete="off", assim você desativaria essa lista.

acredito que o onblur vai ser disparado de qualquer jeito, pois ele precisa 'deixar o campo' (depois de ter escolhido o valor na lista)

 

Não, o onblur não é disparado quando ele deixa o campo. Como eu estou usando o struts, o <html:form> não tem a propriedade autocomplete, vai dar erro. Tentei por um script

no fim da página com document.forms[0].autocomplete = "off", e não funcionou tb. Ele continua completando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo!

 

Criei uma função assim:

function disableAutoComplete(form){
	for(elem in form.elements){
		var campo = form.elements[elem];
		if(campo.type=='text'){
			campo.setAttribute("autocomplete","off");
		}
	}
}
o autocomplete é campo a campo, aparentemente via form não funcionou! Mas assim tá funcionando muito bem! Valeu pela ajuda!

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.