Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Спозиционировать INPUT на начало данных (https://javascript.ru/forum/css-html-internet-explorer/78472-spozicionirovat-input-na-nachalo-dannykh.html)

varjaginm 18.09.2019 18:47

Спозиционировать INPUT на начало данных
 
Есть несколько текстовых инпутов, в которых выставлены свойства
size (для разметки страницы) и maxlength (предел данных, загружаемых из БД)
При входе в каждый данные выделяются
document.activeElement.select()

Скрипты написаны так, что при нажатии Enter, стрелки вниз -> переход к следующему, а при стрелке вверх -> к предыдущему.
Так вот, при переходе вверх в покидаемом инпуте данные отображаются с начала, т.е. нормальным образом, как при первоначальном отображении страницы.
А при нажатии стрелки вниз - в покидаемом инпуте виден хвост данных и это до повторного входа в него, чего может и не быть.
Так вот вопрос: как принудительно заставить поле показывать начало данных ?

laimas 18.09.2019 20:11

Щелкнуть по полю - click()

varjaginm 18.09.2019 20:20

При выделенном содержимом нажатие кнопки Down уже на onkeyup отображает невыделенным хвост данных, т.е как при кнопке End.
Кликать уже поздно!
Хотелось бы найти что-то типа
oInput.home()

laimas 18.09.2019 20:34

Цитата:

Сообщение от varjaginm
отображает невыделенным хвост данных

"... при переходе вверх в покидаемом инпуте данные ..." - причем тут выделение?

varjaginm 18.09.2019 20:58

Или я нечетко сформулировал вопрос, либо его профессор не понял ))
В принципе я решил задачу:
обработку кнопки Down перенес в onkeydown с подменой
event.keyCode=36 // Home
Все заработало, как надо.
СПАСИБО!

Malleys 18.09.2019 21:10

varjaginm, для перемещения курсора между полями используется:
  • для перемещения вперёд Tab(⇥)
  • для перемещения назад Shift+Tab(⇧⇥)
На клавиатуре мобильного телефона появляется кнопка для перехода к следующему полю.

varjaginm 18.09.2019 21:27

Профессора!
Перевожу старое консольное приложение в графический режим через использование HTML компоненты. Все кнопки в духе DOS и меняться не должны. Клиентов фиг переучишь! А кнопка Down 20 лет использовалась для перехода к следующему полю!
В принципе, все очень миленько получается, только интерфейс из консольного становится графическим.
Честно говоря, хотелось бы, чтобы кто-то ткнул в ссылочку, где для input в IE были бы расписаны методы и свойства, связанные с самим редактированием (текущее положение в поле,первая отображаемая позиция при скроллинге...) а то только один select() и нашел ((

laimas 19.09.2019 06:14

Цитата:

Сообщение от varjaginm
Или я нечетко сформулировал вопрос, либо его профессор не понял

Это точно. Для перемещения между элементами служит табуляция и поля формы имеют атрибут позволяющий определять порядок перехода. Если этот переход отслеживать, то щелкать по кнопке нужно по потере ею фокуса:
<input onblur="this.click()" />
<input onblur="this.click()" />

А нажатие кнопок Home/End, это не уход с текущего поля, а и есть навигация в нем в начало, в конец.


Часовой пояс GMT +3, время: 21:30.