Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2018, 19:05
Интересующийся
Отправить личное сообщение для varjaginm Посмотреть профиль Найти все сообщения от varjaginm
 
Регистрация: 12.10.2018
Сообщений: 22

имитация клавишного ввода в input и enter
Получаем с некоторого сайта страничку с полями для ввода параметров поиска. Форм нет. Куча скриптов следит за событием onchange.
Добираюсь до нужного элемента черех ДОМ-модель запущенного CreateObject('InternetExplorer.Application')
Если просто присвоить значение нужному инпуту ( oInputSearch:Value := cDeclcNum ), то даже после ручного Enter на сайт идет запрос с пустыми данными.
Если хоть один символ инпута изменить вручную, наблюдатели определяют факт изменения и запрос отправляется как надо.
Вопрос: Как симитировать ручной ввод и нажатие Enter ?
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2018, 16:38
Интересующийся
Отправить личное сообщение для varjaginm Посмотреть профиль Найти все сообщения от varjaginm
 
Регистрация: 12.10.2018
Сообщений: 22

Может, так ?
По аналогии с https://javascript.ru/forum/css-html...o-skachat.html
пробую на IE8 и IE11.
В идеале было бы выдать ClipBoard строку с Enter на конце,
но IE11 не понимает createEvent('ClipboardEvent'), только createEvent('KeyboardEvent').
С какими параметрами выдавать e.initKeyboardEvent(...) ?
У меня e.keyCode == 48 и изменить никак не дает.
Далее, пропытка Document.activeEmement.dispathEvent(e) выдает InvalidStateError
В IE8 можно использовать только fireEvent('onchange'), но меня сейчас заботит более IE11.
Что делать ?
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2018, 19:11
Интересующийся
Отправить личное сообщение для varjaginm Посмотреть профиль Найти все сообщения от varjaginm
 
Регистрация: 12.10.2018
Сообщений: 22

а в ответ тишина...
Похоже, решения нет.
Есть некое кол-во ресурсов, где рассматривается посылка символа в инпут,(например https://developer.mozilla.org/en-US/.../KeyboardEvent , http://jsfiddle.net/termi/yjc5F/ , https://gist.github.com/callmephilip/3519403 ) основанные на построении объекта события кнопки и заслания ее на диспетчирование.
Но при возможности моделирования всех связанных с кнопками событий (down, up, press и даже input), которые полностью обрабатываются в onkeydown... и пр. реального прихода в инпут никакого символа, кроме как набранного с клавы, НЕТ!
Попытки заслать символы через PostMessage(nHWND, WM_KEYDOWN,...)
упирается, как мне кажется, в невозможность определения этого самого nHWND, который через ДОМ-модель никак не определяется.
Или не там искал?
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2018, 19:15
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

input.value менять пробовали?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитация ввода в Input WinAx Events/DOM/Window 2 24.01.2018 20:52
Добавление новых INPUT по нажатию ENTER paveltkachev jQuery 10 24.12.2014 11:35
Срабатывает нажатие на button при нажатии Enter внутри input rebeled Элементы интерфейса 19 07.02.2013 16:07
Как отделить нажатие кл. Enter в поле INPUT от нажатия Enter в выпадающем списке? Маэстро Events/DOM/Window 7 18.07.2012 09:11
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27