Доброго времени суток, друзья!
Прошу помощи. Третью ночь не сплю.
Этот код запускается в консоли хром на чужом сайте.
Цель: Замена данных input и имитация ввода с клавиатуры для вызова обработчика.
Описание: Меняю текст input обычным val(). После этого нужно имитировать нажатие пробела в input и тогда запрос отправляется обработчику. Нашел на хабре пост dom 2 events. Взял от туда код имитации нажатия клавиши пробела. Вставил, подключил, не работает. Надеюсь Вы увидите причину. Спасибо большое.
Код:
// Задаем input id = element_id и меняем его value на переменную deposit
var deposit = '177';
$('.amount-text').attr('id', 'element_id');
$('#element_id').val(deposit);
var element = document.getElementById('element_id');
// Далее совершаем клик по input (может и не требуется)
var o = document.createEvent('MouseEvents');
o.initEvent('click', true, true); // Используется унаследованный метод модуля Events, а не аналогичный модуля MouseEvents, объект которого был создан
element.dispatchEvent(o);
// Далее пытаемся поставить пробел в input (кажется именно здесь я сделал не так)
if( window.KeyEvent ) // Для FF
{
var o = document.createEvent('KeyEvents');
o.initKeyEvent( 'keyup', true, true, window, false, false, false, false, 32, 0 );
}
else // Для остальных браузеров
{
var o = document.createEvent('UIEvents');
o.initUIEvent( 'keyup', true, true, window, 1 );
o.keyCode = 32; // Указываем дополнительный параметр, так как initUIEvent его не принимает
}
element.dispatchEvent(o);