Установите значение входного реагирования, используя JavaScript - PullRequest
0 голосов
/ 29 января 2019

Я хочу автоматизировать некоторые вещи на сайте, которым я часто пользуюсь в последнее время.Сайт сделан с reactjs.

У меня проблема с установкой атрибута value элемента.Эта функция:

function setElementValue(element, value) {
    element.value = value;
    var event = document.createEvent('Event');
    event.initEvent('input', true, true);
    event.simulated = true;
    element.dispatchEvent(event);
}

работает для большинства элементов.Допустим, я нашел этот элемент:

<textarea class="form-title" placeholder="Title" maxlength="200" ></textarea>

Я могу легко установить его значение с помощью:

var element = document.GetElementsByClassName('form-title')[0];
setElementValue(element, "foo");

Это работает нормально.Проблема с несколькими элементами, такими как:

<input type="text" step="0.01" min="0" max="9007199254740992" class="form_amount" maxlength="1000" pattern="(\s|\d){0,13}(\.|,)?\d{0,2}" placeholder="Enter amount" value="">

По какой-то причине, когда я использую свою функцию setElementValue, она не работает должным образом.Я вижу, что значение было установлено, но кажется, что OnChange не был применен (форма проверяется, и я получаю сообщение об ошибке, что сумма не указана).

Все, что мне сейчас нужно сделать, - это нажать вручную на этот элемент, и теперь я вижу, что он был заполнен правильно (сообщение об ошибке исчезло).

У кого-нибудь есть идеи, что мне делать

...