Задать вопрос
@likilix
Лицемер

Как изменить значение поля input, после сохранение старое значение восстанавливается?

Я в JavaSctript и HTML совершенно не разбирюась. Но в данный момент есть необходимость в написании рашсширения для хрома, в задачу которого входи найти тест в input и заменить его.

Замену текста я делаю так,
$(“[xm-name=id_10] input”).value = ‘12212’
текст меняется в поле, но после нажатия кнопки "Сохранить" возвращается прежний текст.

Если менять текст в самом input то после сохрарения тест сохраняется, тот который был введен.

Примерная иерархия контейнеров. У тегов ID не задан
<div xm-name="id_10">
  <input type=text value="путь"/>
</div>
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 9 комментариев
Решения вопроса 2
@alexalexes
Многие формы уже не работают на голом JS, если они используют фреймворк с реактивностью (например, Vue).
Это значит, что мало записать что-то в атрибут тега, нужно еще поджечь некое событие, чтобы фреймворк, который подписан событийно на изменения состояния тега, мог это состояние передать во внутренний объект.
Как правило, при submit-е реактивной формы передаются не сами значения input-ов, а состояние внутреннего объекта формы.
В вашем случае нужно попробовать поджечь события, которые запускаются при ручном изменении поля ввода:
let el1 = document.querySelector('div[xm-name="id_10"]');
el1.value = '1-8 путь';
// нужно поджечь такие события, которые возникают при ручном вводе:
el1.onchange();
el1.oninput();

PS: Какие-то странные у вас кавычки, запяточенные. Обычно, для JS используют прямые кавычки.
Это ‘ ’ ” “ заменить на ' ' " ".
Ответ написан
Комментировать
cyber-jet
@cyber-jet
Попробуйте так:
$("[xm-name=id_10] input").attr("value", "12212");
или так:
$("[xm-name=id_10] input").prop("value", "12212");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы