Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

286
Visualizações
No activar onchange cuando se usa autocompletar, ¿es posible?

Quiero verificar un valor después de que un usuario terminó de completar el campo de entrada con una lista de valores aceptados. Estoy usando autocompletar. El problema al que me enfrento es que

  • si el usuario escribe el valor aceptado y NO usa autocompletar, todo está bien
  • pero si el usuario escribe el valor aceptado solo parcialmente y luego usa autocompletar, entonces la función que estoy usando para verificar se activa dos veces. Once vez que el usuario terminó de ingresar el valor. En este punto, mi función evalúa que el valor ingresado no está permitido. Luego, una vez que el autocompletado cambia el valor al valor seleccionado por el usuario, mi función de verificación se activa nuevamente y ahora el valor ingresado se reconoce como correcto.

Por supuesto, este no es el comportamiento correcto de mi aplicación. Necesito verificar el valor en ambos casos cuando se escribe o cuando se usa autocompletar. El campo de entrada es parte de un formulario, por lo que puedo evaluarlo después de enviarlo, pero el formulario es bastante complejo y quiero que el usuario sepa que el valor NO se acepta de inmediato.

Trabajando jsFiddle .

codigo javascript

 var elemOptions = { data: { "Radek Surname ": null, "Radek": null, "Radoslav": null }, minLength : 2, } var elemAutomplete = document.getElementById('autocomplete-input1') var autocomplete = M.Autocomplete.init(elemAutomplete, elemOptions); var names = { "Radek": null, "Radoslav":null} function checkName(){ var result = false var name = document.getElementById("autocomplete-input1") console.log(name.value.trim()) console.log(!(name.value.trim() in names)) if (!(name.value.trim() in names) ){ var errorText = "accepting values from autocoplete only" name.value = "" result = false console.log(errorText) }else{ result = true } return result }

Si escribe Rade y luego selecciona Radek de autocompletar, obtendrá

 "Rade" true "accepting values from autocoplete only" "Radek" false
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda