Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
1

Скопировать значение value тега input

05.08.2017, 18:16. Показов 2374. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется код обработчик, который при нажатии кнопки получает текст из указанного класса и вносит его в буфер :
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  var copyEmailBtn = document.querySelector('.js-linkshare-copy');//класс кнопки
    copyEmailBtn.addEventListener('click', function(event) {
    // Выборка ссылки с электронной почтой
    var emailLink = document.getElementById('test1').value;// id тега input
    var range = document.createRange();
    range.selectNode(emailLink);
    window.getSelection().addRange(range);
 
    try {
    // Теперь, когда мы выбрали текст ссылки, выполним команду копирования
    var successful = document.execCommand('copy');
    var msg = successful ? 'successful' : 'unsuccessful';
    console.log('Copy email command was ' + msg);
    } catch(err) {
    console.log('Oops, unable to copy');
    }
 
    // Снятие выделения - ВНИМАНИЕ: вы должны использовать
    // removeRange(range) когда это возможно
    window.getSelection().removeAllRanges();
    });
хтмл выглядит так :
HTML5
1
<div class="test"><input id="test1" value="qwewreq"/></div>
Мне нужно получить в буфер значение value="qwewreq" .
Проблема в том, что при таком виде, JS выдает ошибку в консоле :
TypeError: Argument 1 of Range.selectNode is not an object.

А если заменить :
Javascript
1
var emailLink = document.getElementById('test1').value;// id тега input
на
Javascript
1
var emailLink = document.querySelector('.test1');
и id="test1" на class="test1" , то ошибки нету, но в буфер не копирует.
При чем в консоли пишет "Copy email command was successful"

Добавлено через 54 минуты
Товарищи, достаточно закомментить и код прекрасно отработает.

Javascript
1
2
//range.selectNode(emailLink);
//window.getSelection().addRange(range);
Добавлено через 25 минут
тупанул я что-то, не работает...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2017, 18:16
Ответы с готовыми решениями:

Скопировать значение radio в поле input
Как скопировать значение отмеченного radio в поле input, чтобы при нажатии на кокой-нибудь radio в...

Как скопировать всё содержимое тега (включая другие теги и их содержимое) и вставить внутрь другого тега
Пробовал .clone $(&quot;.la_desktop&quot;).clone().appendTo(&quot;.la_mobile&quot;); HTML: &lt;div...

Показ значений value тега input
Здравствуйте, уважаемые форумчане. Взываю к вашей помощи, ибо моих знаний категорически не хватает....

Изменение цвета фона тега input после заполнения
Подскажите, как изменить фон тега input, после его заполнения.

1
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
07.08.2017, 09:40 2
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var copyEmailBtn = document.querySelector('.js-linkshare-copy'); //класс кнопки
copyEmailBtn.addEventListener('click', function(event) {
  // Выборка ссылки с электронной почтой
  // var emailLink = document.getElementById('test1').value; // id тега input
  var emailLink = document.querySelector('#test1');
  // var range = document.createRange();
  // range.selectNode(emailLink);
  // window.getSelection().addRange(range);
  emailLink.focus();
  emailLink.setSelectionRange(0, emailLink.value.length);
 
  try {
    // Теперь, когда мы выбрали текст ссылки, выполним команду копирования
    var successful = document.execCommand('copy');
    var msg = successful ? 'successful' : 'unsuccessful';
    console.log('Copy email command was ' + msg);
  } catch (err) {
    console.log('Oops, unable to copy');
  }
 
  // Снятие выделения - ВНИМАНИЕ: вы должны использовать
  // removeRange(range) когда это возможно
  window.getSelection().removeAllRanges();
});
0
07.08.2017, 09:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2017, 09:40
Помогаю со студенческими работами здесь

Скопировать содержание input в буфер обмена.
Люди помогите нужен скрипт которые мог бы при нажатии на ссылку копировать текст с тега input в...

Скопировать название с div в input формы обр. связи
Здравствуйте, небольшой интернет магазин, у товаров есть кнопка заказать, про нажатии на которую...

Получить значение из тега <p> по id
Пример кода: &lt;p id=&quot;1&quot;&gt;12&lt;/p&gt; &lt;p id=&quot;2&quot;&gt;67&lt;/p&gt; &lt;p id=&quot;3&quot;&gt;32&lt;/p&gt; Надо в js получить 12, 67...

Заполнить значение тега INPUT эмулированием
Есть один тег: &lt;input type=&quot;text&quot; class=&quot;form-control&quot; value=&quot;&quot;&gt; Значение тега Value меняется при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru