Olá,
Eu uso a função abaixo para gerenciar o tempo que o javascript irá buscar valores no servidor. O problema ocorre é que no sistema é necessário a destruição e criação do campo com o mesmo id.
Isso faz com que o valor do campo se torne sempre o último antes da primeira destruição.
Utilizando exemplo em ( http://pastebin.com/7isVQ6Vm ) e seguindo os passos:
1. Clique no botão "Novo Input";
2. Digitar alguma algumas letras no campo criado;
3. Veja que será exibido o valor digitado;
4. Clique novamente no botão "Novo Input";
5. Digite qualquer outra coisa no novo campo criado;
6. Veja que o valor a ser exibido no momento será o mesmo que anterior.
Já tentei apagar o valor do searchTimeout, mas não adiantou....
Alguém tem alguma ideia de como remover por completo um input?
function onKeyUpHandler(campo, funcao, tempo,paramentro)"
{
var searchTimeout;
campo.onkeyup = function (event)
{
var tecla = (window.Event) ? event.which : event.charCode;
if (typeof searchTimeout != "undefined") clearTimeout(searchTimeout);
if (typeof paramentro == "undefined") paramentro = "";
else{var string = new String(paramentro);
if (string.substr(0,1)!=',') paramentro = ",'"+paramentro+"'"; }
searchTimeout = setTimeout(funcao+"("+campo.id+","+tecla+paramentro+")", tempo);
};
}