Ir para conteúdo

Arquivado

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

crucifier

auto-completar diferente

Recommended Posts

aih...esse eh um auto-completar diferente...ele termina de digitar a palavra pra voce (palavras q você coloca no array)

soh q nao funfa no FF...e acho q nem no opera

o codigo nao eh de minha autoria...

vou tentar adaptar ele pro firefox (espero que possa contar com voces) e pra ajax...

mas por enquanto...aih vai:

 

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><script>fruits = new Array('cleber','mamao','melancia','mercadoria','marmelada');names = new Array('tom','dick','harry','john','petter','foo','bar');function autocomplete(n,ac_array){if (n.value == "") return 0;if (event.keyCode == 8 && n.backspace){n.value = n.value.substr(0,n.value.length-1);n.backspace = false;}var r = n.createTextRange();tmp= n.value;if (tmp == "")return 0;for (z=0;z<ac_array.length;z++){tmp2 = ac_array[z];count = 0;for (i = 0;i<tmp.length;i++){if (tmp2.charAt(i) == tmp.charAt(i)){count++}}if (count == tmp.length){diff = tmp2.length - tmp.length;if (diff <= 0) break;kap = "";for (i=0;i<tmp2.length;i++){if (i >= tmp.length) kap += tmp2.charAt(i);}n.backspace = true;r.text += kap;r.findText(kap,diff*-2);r.select();return 0;}}n.backspace = false;return 0;}</script><body><input name='fruit' type='text' class='textbox' title="Opening"onkeyup="autocomplete(this,fruits)" size="20"><input name='Name' type='text' class='textbox' title="Opening"backspace='false' onkeyup="autocomplete(this,names)" size="20"></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ser por causa de quando você pega qual tecla foi digitada, eu uso o seguinte:

 

nTecla = (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;

 

onde 'nTecla' logicamente retorna o numero da tecla ;D

onde 'evtKeyPress' foi definido como variavel da função e foi passada pelo objeto que chamou a função como event.

 

Ex:

 

function tecla(evtKeyPress) {var nTecla;nTecla = (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;alert(nTecla);}

e no html:

onkeypress="return tecla(event);"

deu?

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.