Campo com Auto Complete sem captura, como pegar o valro digitado?

Colegas,

Como eu posso pegar o valor digitado num campo do tipo auto complete sem captura?

Ao digitarmos uma lista nos dando as opções de registros encontrados é mostrada, se eu clicar em um item dessa lista, ovalor da janela é preenchido, mas supondoque ao digitar na janela, não encontre registros, com posso pegar o valro digitado? ou mesmo que até encontre registros, mas se não for selecionado como pegar o valor digitado na janela?

Já tentou:

$variavel = {nomedocampo_autocomplete}

em algum evento por exemplo?

Talvez funcione.

foi o primeiro teste que eu fiz.
Costumo esgotar todas minhas alternativas antes de postar uma dúvida.
Essa está um pouco díficil para mim.

Harold, não percebi que foi vc quem perguntou. Mas realmente tentei aqui de um monte de jeito e não pega o valor. Somente valores que retornan na lista.

Pois é amigo, quero fazer uma pesquisa recursiva, e não consigo, ao digitar se tiver na lista eu seleciono, se não tiver eu gravo o valor digitado no campo, mas não consegui localizar onde fica guardado esse valor.

Senhores,

Eu também tentei esta mesma captura na v4 a tempos atrás e não consegui.

William

Harold,

Me veio uma solução meio maluca na cabeça, caso você queira apenas pesquisar valores para usar depois:

Fazer um formulário baseado numa tabela que guarda estes valores “temporários”. Caso não esteja na lista, num evento mandar dar um insert na tebela e no frm a opção de retornar após inserir habiltada. Suportamente assim, teremos acesso a uma variável gravada por exemplo ou o valor retornado no campo.

Posto que o auto-complete só pega valores da lista, talvez no retorno ele traga esse valor e assim pode-se capturá-lo, já que vai ser um intem da lista. É uma idéia recheada de imprecisão porque não testei.

Eu só queria pegar o valor digitado na anela, se estress, sem aplicações extras, para apenas inserir o valor digitado caso não exista na lista, se for para criar aplicações extras crio um campo auto-complete com captura, aí funciona.

Tentei tb e não consegui… tenho um campo autocomplete (cliente) e um campo usuarios (texto) onde está a captura. Tentei passar variaveis desse cliente para a captura de usuario e não carrega de jeito nenhum… Alguem conseguiu solucionar isso ??? um abraço

Não tem solução, pelo Suporte do Fornecedor, campos do tipo auto-complete não permitem vc pegar o valor digitado, apenas o valor selecionado na lista montada, não se manifestaram em alterar ésse tipo de campo disponibilizando o valor alterado.

hoje n tive tempo, mas chegar em casa eu te dou um help.

é quase certeza o que o Haroldo falou… não tem como mesmo… tentei varias vezes de autocomplete passar paramentros para pegar o valor digitado num campo do tipo auto complete passando como variavel para a captura em outro campo. Mais se tiver alguma ideia, por favor passe pra gente

Estou vendo uma forma de fazer isso com o sc atual … e posto jaja se tem como :-p

Diga-se de passagem…
“Um absurdo o valor digitado não estar disponível na janela”.

Nao entendi … mas seguinte. Disponivel esta, so precisa manipular.

Campo auto complete esta sendo utilizando um plugin do jquery que so seta valor após voce clicar no item.
Vou explicar como funciona e ai vcs podem fazer.
Um campo chamado, por ex de cidade, esta com auto complete.
Entao no form o campo cidade esta com display none e é criado um novo campo cidade_autocomp.
Esse _autocomp é que faz o combo e apos vc clicar no item escolhido é que é passado o valor para o campo cidade.

criei um campo cidade_new so pra fazer o controle, tirei o botao de update da tela e criei um botao javscript que faz o seguinte:
document.F1.cidade_new.value = document.F1.cidade_autocomp.value;
nm_atualiza (‘alterar’); return false;

com isso vc pega o valor do campo que esta no auto complete.
ai no validate vcs fazem seus proprios codigos, da um select na base, ve se existe o digitado, se n existir insere …

espero ter ajudado …

O que tentamos fazer é:
Pegar o que foi digitado na janela do campo {cidade} dentro evento onchange do campo {cidade}:

Se eu digitei “SAO”, vai me apresentar uma lista de cidades que começam com “SAO”,
mas eu quero jogar dentro de uma variável php o que foi digitado: “SAO”, no evento onchange do campo {cidade}, mostrando ou não a lista com as opções.

Quando você digita algo o evento onchange não é acionado até você clicar na lista do combo.

É o que eu faria com um campo do tipo texto comum.

Quando usamos isso? Um dos usos seria: tenho um determinado campo, quando digito o valor uma lista de opções vai me aparecendo, mas caso não mostre nessa lista um valor desejado, eu inclua na tabela o que foi digitado automaticamente no evento onchange.

Hoje para obter esse recurso tenho que ter uma janela texto, e do lado uma select que move o valor selecionado para a janela texto, mas se não tiver na nesse select o valor desejado eu digito na janela texto o valor, que é incluso na tabela. Ou utilizo um Select Distinct no proprio campo.

Exato, pq o que esta sendo exibido é outro campo. Por isso dei essa sugestão.
Se vc substitui os botoes, com o javascript vc captura o campo e atribui a outro.

Desse forma vc pode fazer de forma transparente para o usuario, se existir, deixa o que ele digitou, se nao existir, vc da o insert e atribui a chave.

É so uma medida paliativa.

Veja bem … tenho o campo cidade que é auto complete.

Tiro o botao de update. Substituo o botao de update por um botao meu javascript com o seguinte codigo:

document.F1.cidade_new.value = document.F1.cidade_autocomp.value;
nm_atualiza (‘alterar’); return false;

Isso significa que, o valor do campo autocomplete que foi digitado sera atribuido ao meu campo {cidade_new}.

Na hora que a pessoa clicar no botao, irei capturar esse valor jogando o valor para o campo cidade_new e estou chamando a funcao de atualizar.

No onvalidate iria checar se o que foi digitado existe na base, se exitir, beleza, so atribuo ao campo original cidade, se nao exisitr, daria o insert na tabela de relacionamento e atribuiria normal ao campo cidade.

é uma medida que permite que o que a pessoa digitou ser cadastrado após ele chamar o botão de insert ou delete.

Medidas paliativas eu costumo tomar com situações extremas, e quando exigem certa complexidade, mas nesse caso, o uso é direto e constante, tornando improdutivo o Desenvolvimento, acredito que uma pequena mudança no código SC seria mais adequada e viável nesse caso.

Bom, so tentei ajudar, mas … entao vou repassar pro pessoal de implementação a sugestão.

Pensei que vc queria algo pra rodar agora. Mas ok … vou me abster mais da proxima vez, nao irei tao a fundo.