#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» не запускается при нажатии на элемент из истории формы, даже после перемещения фокуса!