textarea. Программно вставить текст.
Здравствуйте!
Подскажите, пожалуйста, почему так не вставляется текст в textarea?: var textarea = document.querySelectorAll(".sc-pYOiM"); textarea .val("Текст, который необходимо вставить"); https://jsfiddle.net/zb8p4w70/1/ |
DDim1000,
потому что нужен элемент в который добавляется текст. |
Цитата:
|
querySelectorAll - возвращает коллекцию, это первое, а второе, это нет у текстового поля свойства val (а такой функции и подавно нет), есть свойство value.
|
Цитата:
Так тоже не работает: var textarea = $(".sc-pYOiM"); textarea .value("Текст, который необходимо вставить"); |
DDim1000,
:-? var textarea = document.querySelectorAll(".sc-pYOiM"); textarea[0].value = "Текст, который необходимо вставить"; |
Цитата:
var textarea = $(".sc-pYOiM"); textarea.val("Текст, который необходимо вставить"); А в нативном как показали, правда если поле одно, то ни к чему коллекцию получать, и нужно document.querySelector(".sc-pYOiM") |
Все получилось!!! Текст вставляется, но, возникла другая проблема..
При щелчке на поле textarea, вставленный программно, текст удаляется. Почему так происходит? https://youtu.be/uHkqkzEGqLo |
Лучше код тут приведите.
И HTML и Js. |
Цитата:
<div class="sc-ptTHP iyAkBQ"><div class="sc-pIWiK lWZjq"><pre class="sc-pQthR fFrNVt"></pre><textarea placeholder="Написать сообщение..." role="textbox" data-name="input-textarea" class="sc-pYOiM emEhfU"></textarea></div><div data-name="messenger-send-message-icon" class="sc-qOhCc fcjSMW"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="sc-fznZeY gJlwEu"><g fill="none" fill-rule="evenodd" stroke="#46AAE9" stroke-width="1.5"><path d="M1 21.972c8 .391 12-3.276 12-11.002V2.765"></path><path d="M5 10l8-8 8 8"></path></g></svg></div></div> function SetMessage(m){ var textarea = document.querySelector("textarea[data-name='input-textarea']"); textarea.value = m; $("div[data-name='messenger-send-message-icon']").click(); }; |
Цитата:
|
Цитата:
Вот еще одно видео, кода текст вставляется программно, он не появляется в DOM, а если текст набирается с клавиатуры или вставляется из буфера обмена, то он появляется ни только в textarea, но и в pre...... https://youtu.be/FLryKsE89xA |
Цитата:
|
Я не понимаю, почему при клике на поле, удаляется программно вставленный текст? И почему, когда набираешь текст с клавиатуры, он виден в DOM, а программно вставленный текст не виден в DOM? Еще, набираемый текст с клавиатуры, почему то, дублируется в pre.....
|
Цитата:
Почему не отображается в DOM программные изменения - ну так даже и события такого нет, чтобы отследить это, хотя это можно сделать также программно. Это потому, что в Web API есть ограничения связанные с безопасностью. |
Цитата:
А можно как-то с имитировать ввод с клавиатуры? |
Цитата:
|
Часовой пояс GMT +3, время: 12:25. |