Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript

Войти
Регистрация
Восстановить пароль
 
grigandal1580
5 / 4 / 0
Регистрация: 16.01.2016
Сообщений: 233
#1

Заполнение input - JavaScript

25.03.2017, 09:30. Просмотров 146. Ответов 0
Метки нет (Все метки)

Сразу говорю, по js не знаю абсолютно ничего
(Пишу прогу в delphi, на ней юзаю компонент TChromium, а для него нужны скрипты)

Вопрос длинный.

Возникла задача: заполнить input.
Значение в этом инпуте повлияет на дальнейшую работу на загруженной странице

В html коде инпута атрибут value имеется, и этот атрибут можно изменить таким образом
Javascript
1
document.getElementsBy/../.value=50;
ОДНАКО, по всей видимости, на сайте загружается какой-то скрипт, или еще что-то, которое позволяет показывать это изменение,
НО сайт продолжит работу так, как будто поле не изменилось.

Худо-бедно, с помощью win api этот инпут заполнять удается, но и тут возникает проблема:
Значение в этом инпуте на сайте обрабатывается по мере введения очередного символа. Из-за этого получается достаточно часто, что значение вводится не то, какое должно было быть: некоторые символы не вставляются, либо не успевает стираться то значение, которое больше не нужно.

соответственно, вопрос номер 1:
Может ли тут помочь эмуляция нажатия клавиш с помощью js, и как ее правильно сделать?

Погуглил, нашел один пример с этой эмуляцией, подредактировал под свой элемент, код элемента указал правильно, это точно.
Проверьте код на другие ошибки:
Javascript
1
2
3
4
5
6
7
8
9
10
11
pastesum = function () 
{ 
var evnt = document.createEvent ("KeyboardEvent"); 
var cd = "5".charCodeAt (0); 
var obj = document.getElementsByClassName("field input-ctr")[1].getElementsByTagName("input")[0]; 
obj.focus (); 
obj.select();
evnt.initKeyEvent ("keydown",  1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt); 
evnt.initKeyEvent ("keypress", 1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt); 
evnt.initKeyEvent ("keyup",    1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt); 
}
В google chrome на этом сайте в консоль ввожу этот код, вызываю pastesum();
пишет:
Uncaught TypeError: evnt.initKeyEvent is not a function
at pastesum (<anonymous>:8:6)
at <anonymous>:1:1


Что и как правильно тут делать?

Второй вопрос:
Если через эмуляцию невозможно, какие еще есть альтернативы.

p.s. Совсем не знаю js! даже основ, совершенно ноль.

Добавлено через 7 часов 29 минут
Может есть способ как-то найти и заблокировать подгружаемый мешающий скрипт?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2017, 09:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнение input (JavaScript):

Заполнение таблицы из input type=text данными по нажатию кнопки - JavaScript
Добрый день. подскажите, пожалуйста новичку есть таблица из 10 ячеек сделанных с помощью input type=text и отдельно есть контрольная...

Одинаковая ширина для полей input text & input password - JavaScript
Никак не получается выровнять ширину двух тектовых полей: input type='text' и input type='password' Помогите, пожалуйста.

Как реализовать на месте input button просто input? - JavaScript
Приветствую всех. Есть кнопка. Помогите реализовать логику. По нажатию на кнопку , появляется текст , а под ним input. Спасибо...

Получить названия файлов из input file в input text - JavaScript
Как переместить названия файла из input type file в input type text с помощью javascript?

Изменение цвета поля Input при наборе текста (именно при наборе,а не при установке курсора мышки в поле Input) - JavaScript
Добрый день всем! Подскажите пожалуйста код, позволяющий сделать следующие действия. Есть поле Input и в нем необходимо сделать так,...

Js - input - JavaScript
Помогите сделать скрипт, в котором при вводе определенного числа открывалась определённая ссылка. Как это сделать?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2017, 09:30
Привет! Вот еще темы с ответами:

Из <td> в <input> - JavaScript
Как вытащить значение из &lt;td&gt; которое задается с помощью js и засунуть его в &lt;input&gt; ?

Условие в input - JavaScript
$(document).ready(function () { $('input.amount').keypress(function(e) { var verified = (e.which == 8 || e.which == undefined ||...

Input range js - JavaScript
Здравствуйте, пытаюсь сделать форму заказа, понадобился калькулятор в котором используется input range. &lt;button...

Input date - JavaScript
Добрый день. Подскажите как сделать так, что бы при выборе даты можно было бы выбрать только текущую и будущую дату, а прошлые были...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru