Исправление поведения на основе React с закладками браузераJavascript

Форум по Javascript
Ответить
Anonymous
 Исправление поведения на основе React с закладками браузера

Сообщение Anonymous »

В веб-приложении я не контролирую (и это не публичный продукт), есть форма с двумя , которые должны быть заполнены глупым способом: текст в TextARea1 может быть изготовлен из текста в TextARea2 с простой операцией поиска и замены. Поскольку мне приходится использовать веб-приложение довольно часто, и владелец приложения не собирается улучшить его, я решил использовать закладки браузера и JavaScript: «Протокол», чтобы применить мое «исправление» за один щелчок, когда я открываю форму.

Код: Выделить всё

var src = document.querySelector('...');
var dest = document.querySelector('...');
src.addEventListener('input', function(e) {
dest.value = src.value.replace(...);
});
< /code>
Набор кода работает даже работает. Пока я не нажму кнопку, чтобы отправить форму. Когда я это делаю, происходит проверка пользовательского объекта (заполненного данными в событиях полям формы), и код проверки не находит необходимые свойства пользовательского объекта. < /P>
Я пробовал разные подходы (включая этот: какой лучший способ запустить изменения или входные события в React JS), но все еще не повезло.src.addEventListener('input', function(e) {
var newValue = e.target.value.replace(...);
dest.value = newValue;
});
src.addEventListener('blur', function() {
var event = new Event('change', {bubbles: true});
event.simulated = true;
dest.dispatchEvent(event);
});
, по-видимому, является одними из лучших попыток: dest обновляется, но его данные все же не получены кодом на основе React. Кроме того, если я изменяю текст в dest по ручным вводу, код перестает работать даже для части автоматического обновления (хотя события все еще присваиваются элементу и вызывают). Удаление прослушивателя событий размытия также ломает его.var setter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, 'value').set;
setter.call(dest, newValue);
< /code>
Но все еще не повезло: в зависимости от фактического кода, он либо работает так же, либо просто ломает его. Реатизируйте форму с двумя текстовыми мешками и кнопкой, какой лучший/правильный способ перехватить его из Devtools/Console/Adder Ban>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -bookmarks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»