Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2020, 16:04
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

textarea. Программно вставить текст.
Здравствуйте!
Подскажите, пожалуйста, почему так не вставляется текст в textarea?:
var textarea = document.querySelectorAll(".sc-pYOiM");      
        textarea .val("Текст, который необходимо вставить");

https://jsfiddle.net/zb8p4w70/1/
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2020, 16:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DDim1000,
потому что нужен элемент в который добавляется текст.
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2020, 16:08
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от рони Посмотреть сообщение
DDim1000,
потому что нужен элемент в который добавляется текст.
Ну, textarea есть же.....
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2020, 16:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

querySelectorAll - возвращает коллекцию, это первое, а второе, это нет у текстового поля свойства val (а такой функции и подавно нет), есть свойство value.

Последний раз редактировалось laimas, 19.09.2020 в 16:14.
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2020, 16:20
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от laimas Посмотреть сообщение
querySelectorAll - возвращает коллекцию, это первое, а второе, это нет у текстового поля свойства val (а такой функции и подавно нет), есть свойство value.
А как нужно делать?
Так тоже не работает:
var textarea = $(".sc-pYOiM");      
       

        textarea .value("Текст, который необходимо вставить");
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2020, 16:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DDim1000,

var textarea = document.querySelectorAll(".sc-pYOiM");     
        textarea[0].value = "Текст, который необходимо вставить";
Ответить с цитированием
  #7 (permalink)  
Старый 19.09.2020, 16:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от DDim1000
Так тоже не работает
Вы путает jQuery с нативным JS, вот в первой есть функция .val(), поэтому надо

var textarea = $(".sc-pYOiM");
textarea.val("Текст, который необходимо вставить");


А в нативном как показали, правда если поле одно, то ни к чему коллекцию получать, и нужно document.querySelector(".sc-pYOiM")
Ответить с цитированием
  #8 (permalink)  
Старый 19.09.2020, 18:23
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Все получилось!!! Текст вставляется, но, возникла другая проблема..
При щелчке на поле textarea, вставленный программно, текст удаляется.
Почему так происходит?
https://youtu.be/uHkqkzEGqLo
Ответить с цитированием
  #9 (permalink)  
Старый 19.09.2020, 18:41
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

Лучше код тут приведите.
И HTML и Js.
Ответить с цитированием
  #10 (permalink)  
Старый 19.09.2020, 19:08
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от voraa Посмотреть сообщение
Лучше код тут приведите.
И 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();
 };
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите поправить код, определения высоты блоков и их сравнения ozoro jQuery 20 09.11.2019 17:55
Помогите исправить JQuery плагин для разделения UL на равные списки ozoro jQuery 12 25.10.2019 17:37
Раскрывающийся список с объемными текстами morzer Общие вопросы Javascript 4 11.07.2016 14:54
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30