Как редактировать содержимое input?

Ссылка скопирована
1 ответ

Как редактировать содержимое input?

Как изменить содержимое input в html?
Сама цена ("100 000") указывается в атрибутах. Если редактировать непосредственно в атрибутах (value и aria-valuenow), то в самом input на странице изменения не отображаются (остается значение "100 000"), на сервер возможно уйдет значение из этих атрибутов, но как обновить отображение?

<div class="ant-input-number-input-wrap"> <input autocomplete="off" role="spinbutton" step="1" class="ant-input-number-input" value="100 000" aria-valuenow="100000"> </div>

<div class="ant-input-number-input-wrap"> <input autocomplete="off" role="spinbutton" step="1" class="ant-input-number-input" value="100 000" aria-valuenow="100000"> </div>

Дополнительно:

Подскажите, как изменить содержимое input в html?

<div class="ant-input-number-input-wrap">     <input autocomplete="off" role="spinbutton" step="1" class="ant-input-number-input" value="100 000" aria-valuenow="100000"> </div>

<div class="ant-input-number-input-wrap"> <input autocomplete="off" role="spinbutton" step="1" class="ant-input-number-input" value="100 000" aria-valuenow="100000"> </div>

const input = document.querySelector('.ant-input-number-input'); input.value = 'new value';

const input = document.querySelector('.ant-input-number-input'); input.value = 'new value';

Если редактировать непосредственно в атрибутах (value и aria-valuenow), то в самом input на странице изменения не отображаются (остается значение "100 000"), на сервер возможно уйдет значение из этих атрибутов, но как обновить отображение?

Можно использовать MutationObserver для наблюдения за изменения значения атрибута aria-valuenow, и сразу менять значение input:

const cb = (mutationsList, observer) => {     for (const mutation of mutationsList) {         if (mutation.type === 'attributes' && mutation.attributeName === 'aria-valuenow') {             mutation.target.value = mutation.target.getAttribute('aria-valuenow');         }     } }  const input = document.querySelector('.ant-input-number-input'); const observer = new MutationObserver(cb); observer.observe(input, {attributes: true});

const cb = (mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'attributes' && mutation.attributeName === 'aria-valuenow') { mutation.target.value = mutation.target.getAttribute('aria-valuenow'); } } } const input = document.querySelector('.ant-input-number-input'); const observer = new MutationObserver(cb); observer.observe(input, {attributes: true});

  • Меняется, но если кликнуть на поле, то значение сбрасывается...
  • pavelsa, причем здесь Ваше поле? Вы вопрос видели? - необходимо изменить значение input.
  • Михаил Р., объясню для чего мне это нужно. В html имеются другие дополнительные цены (такие же input) и мне нужно на основании этой основной цены высчитать по формуле и заполнить другие inputы средствами js через Tampermonkey
  • Кстати, если изменить ценник в атрибутах, то на сервер все летит прежнее значение
  • pavelsa, а Вы это сразу в самом вопросе не могли указать? Создавайте новый вопрос сразу с подробностями, чтобы потом не выяснялось, что "на самом деле, нужно было сделать еще и так".
  • pavelsa,

    Кстати, если изменить ценник в атрибутах, то на сервер все летит прежнее значение

    И Ваш сервер здесь так же не причем. Повторюсь, вопрос был "как изменить значение input", я предоставил 2 варианта, прямое изменение и не прямое, за счет изменения атрибута, задача выполнена.

  • Михаил Р., чего так остро реагируете, как-будто что-то отобрали у вас, расслабьтесь)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Роман IT Ответ

Для редактирования содержимого input вам нужно использовать JavaScript. Вот пример простой функции, которая позволит вам изменить содержимое input:

function editInputContent() {
    var input = document.getElementById('myInput'); // замените 'myInput' на id вашего input
    input.value = 'Новое содержимое'; // замените 'Новое содержимое' на то, что вы хотите установить в input
}

function editInputContent() { var input = document.getElementById('myInput'); // замените 'myInput' на id вашего input input.value = 'Новое содержимое'; // замените 'Новое содержимое' на то, что вы хотите установить в input }

Вы можете вызвать эту функцию в момент, когда вам нужно изменить содержимое input, например, при клике на кнопку:

 
<button>Изменить содержимое</button>

<button>Изменить содержимое</button>

Это простой пример, но вы можете настроить функцию editInputContent() для более сложных случаев, например, для изменения содержимого input на основе введенных пользователем данных или других действий пользователя. Надеюсь, это поможет вам редактировать содержимое input на вашем веб-сайте.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно