Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как ввести в поле ввода значение где есть javascript (https://javascript.ru/forum/misc/37411-kak-vvesti-v-pole-vvoda-znachenie-gde-est-javascript.html)

MOZG 18.04.2013 18:58

Как ввести в поле ввода значение где есть javascript
 
Привет!

Есть страница на другом сайте. В нем есть поле для ввода
<input id="unitInput0" class="noButtonInputField unitsInput" type="text" size="10"/>


Если руками вводить в это поле значение, то происходит обработка видимо javascript -ом и внизу страницы показывается значение связанное с веденным. В данном случае это время.

Если я делаю команду
$('#unitInput0').val(1);

то значение "1" прекрасно помещается в поле ввода, но обработка на сайте не происходит и время не показывается. Тоесть события ввода не произошло.

Как можно сделать аналог нажатий клавиш?

zebra 18.04.2013 19:07

$('#unitInput0').val(1).trigger('change') или может там событие другое, например keyup, keypress, input

MOZG 18.04.2013 20:21

при .trigger эффект такой же как и на моем вводе =(

Dim@ 18.04.2013 22:59

MOZG,
очевидно там повесили обработчики событий типа - keyup, click, и/или им подобные связанные с клавишами

MOZG 18.04.2013 23:01

и как быть если эти обработчики висят?

Dim@ 18.04.2013 23:17

можно попробовать "руками" посмотреть, что за обработчики - типа нужный_элемент.onclick (), а ещё лучше прочитать про обработчики событий, как их создавать и вешать - я просто за год безделья подзабыл о них

dmitriymar 18.04.2013 23:46

и что мешает вставлять значение в поле ввода и затем запускать функцию обработчик ?
посмотреть какая функция ответственная можно посмотреть в профилировщике встроенном в инструменты разработчика в каждом браузере

MOZG 19.04.2013 10:25

Спасибо за идеи.
Решение есть, но кривое правда.
На странице есть клавиша заполнения формы. Нажимая ее тоже отрабатывается скрипт которые выводит время. Не долго думая, чтобы время все таки получить я нажимаю клавишу, сохраняю в переменную время и дальше уже не думая ввожу свои данные в поле и еду дальше.

;)

MOZG 19.04.2013 10:28

Вот так вот извратился ;)

$('#unitMax0')[0].click();  // жму клавишу которая есть в форме чтобы получить время
var a = (document.getElementsByClassName('noButtonTransportTime')[0].innerHTML); // сохраняю нужное мне время в переменную
$('#unitInput0').val(1); // ввожу свои данные в поле которое мне нужно


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