Событие выбора истории ввода формы

#javascript #jquery #forms

#javascript #jquery #формы

Вопрос:

Я изо всех сил пытался разобраться с несколькими формами, в которые пользователи вводят много повторяющихся данных. В этих случаях это помогает пользователям иметь доступ к истории формы (т.Е. чтобы выбрать имя человека, которому они отправили несколько уведомлений и т.д. Проблема здесь в том, что в большинстве браузеров не запускается событие, при котором пользователь выбирает фрагмент текста из истории своей формы. Итак, с помощью нескольких других сообщений о stackoverflow я решил использовать setInterval вместо этого.

Сейчас я ищу обратную связь, чтобы определить, что может быть плохой идеей, и что-нибудь, чтобы сделать это лучше.

У меня есть демо-версия этого здесь http://lab.atworkinthecloud.com/form-history-select /

Комментарии:

1. Похоже, что оно никогда не обновляет свою переменную текущего значения, поэтому все, что отклоняется от первого значения, считается «изменением».

2. У меня такая же проблема. Однако ваше решение «setInterval» — единственное, которое я видел.

Ответ №1:

Я считаю, что вам не следует основывать свою реализацию на поведении браузера (запоминании истории), которое может быть доступно пользователю, а может и нет. Если вы хотите создать полезный интерфейс, вам следует самостоятельно предоставить доступ к истории или использовать такие функции, как автозаполнение

Комментарии:

1. Надеюсь, я правильно понял — это не «база» для чего-либо. Всего несколько строк кода для решения конкретной существующей проблемы, которая была выявлена.

Ответ №2:

поскольку вы так часто запускаете обработчик (и я заметил, что вы также привязываете событие propterychange), то почему бы просто не привязать только propertychange, который тоже это сделает.

вам вообще не нужно связывать все эти события.

Я столкнулся с той же проблемой, но я по-прежнему предпочитаю иметь способ, который запускает запрос только после того, как пользователь закончил вводить текст.

Комментарии:

1. Как указано в OP, событие «onchange» не запускается при нажатии на элемент из истории формы, даже после перемещения фокуса!