Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Заполнение поля через консоль браузера (https://javascript.ru/forum/job/85523-zapolnenie-polya-cherez-konsol-brauzera.html)

Hyacinth 04.10.2023 20:07

Заполнение поля через консоль браузера
 
Задача: требуется заполнить поле с помощью JS консоли браузера, таким образом, чтобы появилась кнопка отправки.
Есть поле для того чтобы оставить комментарий.
Требуется заполнить поле через консоль браузера, с помощью JS.

$('textarea').value='Wow!!!!!';
$('textarea').event

и любые подобные методы, заполняют поле только внешне. Но это не тоже самое что при вводе с клавиатуры. Т.е. при попытке нажать кнопку Отправить, данные из формы пропадают.

Бюджет: 50$

PM

ruslan_mart 04.10.2023 21:39

Скорей всего форма собрана на каком-либо фреймворке (React или Vue) и имеет контроллируемое состояние полей внутри.

Попробуйте выставлять значение и имитировать событие на элементе

element.value = 'New Value';
element.dispatchEvent(new Event('input'));


Я могу помочь, если там не будет сильно сложно, так как времени не особо много. Пишите в тг: @ruslan_mart

ksa 05.10.2023 09:45

Hyacinth, можно опробовать вот такой вариант имитации события изменения поля

<input id='test' />

<script>
// событие обрабатывает состояние
test.addEventListener('input', e => alert('Состояние ' + e.target.value))

// попытка изменить состояние из консоли
test.value = 'Тест';
test.dispatchEvent(new Event('input', {bubbles: true}));
</script>


Возможно поле контролируется не через событие input... Тогда нужно будет эмулировать другое событие, например change. А может вообще использовать клавиатурные события, такие как keypress и т.п...

Hyacinth 07.10.2023 23:26

Всем доброго вечера!

Исполнитель найден (ruslan_mart), задание выполнено в лучшем виде!
2ksa: большое спасибо за Ваш отклик, если появится необходимость, также свяжусь с Вами.


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