Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Как задать значение в input чтобы сам input и форма стала валидной? (https://javascript.ru/forum/angular/74076-kak-zadat-znachenie-v-input-chtoby-sam-input-i-forma-stala-validnojj.html)

sciper 11.06.2018 17:32

Как задать значение в input чтобы сам input и форма стала валидной?
 
Привет всем, пытаюсь на этом сайте https://m.betcity.ru/ru/login через dev tools в хроме с помощью скрипта js в поля "Логин" и "Пароль" установить свои значения.
Вот пробовал вот так :
var aTags = document.getElementsByTagName('input'); 
for (var i = 0; i < aTags.length; i++) 
{ 
  if (aTags[i].getAttribute('id') == 'login') { aTags[i].value = 'login'; } 
  else if (aTags[i].getAttribute('id') == 'password') { aTags[i].value = 'password'; } 
}

Значения установились но инпут и сама форма не стала валидной и когда нажимаю "Войти" то не получается войти,а если ввести эти же значения с клавиатуры то Войти получается.
Там на сколько я понял нужно както получать scope с помощью ангуляра уже по всякому пробовал но никак не выходит. Подскажите пожалуйста как это сделать.
это сайт не у всех наверное работает вот подобный https://m.betsbc.com/ru/login - по сути тоже самое

j0hnik 11.06.2018 17:44

aTags[0].dispatchEvent(new Event("change")); 
aTags[1].dispatchEvent(new Event("change"));



попробуйте добавить

j0hnik 11.06.2018 17:46

aTags[0].click();
aTags[1].click();

или так

aTags[0].dispatchEvent(new Event("input"));
aTags[1].dispatchEvent(new Event("input"));

или так

sciper 11.06.2018 17:56

не получилось войти вот ошибка какая вылезла в devtools
Unhandled Promise rejection: Cannot read property 'avail' of undefined ; Zone: angular ; Task: Promise.then ; Value: TypeError: Cannot read property 'avail' of undefined
сделал сначала вот это
var aTags = document.getElementsByTagName('input'); 
for (var i = 0; i < aTags.length; i++) 
{ 
  if (aTags[i].getAttribute('id') == 'login') { aTags[i].value = 'login'; } 
  else if (aTags[i].getAttribute('id') == 'password') { aTags[i].value = 'password'; } 
}

а потом
aTags[0].dispatchEvent(new Event("input"));
aTags[1].dispatchEvent(new Event("input"));

Так вы имели ввиду?

j0hnik 11.06.2018 19:35

да, тогда не знаю как сделать, может еще кто подскажет.


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