Я хочу автоматизировать некоторые вещи на сайте, которым я часто пользуюсь в последнее время.Сайт сделан с 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
не был применен (форма проверяется, и я получаю сообщение об ошибке, что сумма не указана).
Все, что мне сейчас нужно сделать, - это нажать вручную на этот элемент, и теперь я вижу, что он был заполнен правильно (сообщение об ошибке исчезло).
У кого-нибудь есть идеи, что мне делать