Hari Vasista Ответов: 3

Как скопировать значения из нескольких текстовых полей в буфер обмена из браузера?


Я пытался скопировать значения из нескольких текстовых полей в буфер обмена.

Что я уже пробовал:

Я попробовал document.execCommand(), но это копирует только выбранное текстовое поле ввода. Я не могу выбрать несколько текстовых полей для копирования в буфер обмена. Мне нужна помощь в этом деле. Спасибо.

3 Ответов

Рейтинг:
2

Suvendu Shekhar Giri

Просто сделайте то же самое для других текстовых полей, что вы сделали для одного текстового поля.
Пример с JavaScript:

window.clipboardData.setData('Text',document.getElementById('<%=TextBox1.ClientID%>').value + document.getElementById('<%=TextBox2.ClientID%>').value);


Аналогично, вы можете добавить несколько значений текстового поля и вызвать этот фрагмент кода из функции.
Надеюсь, это поможет :)


Рейтинг:
2

Pankaj1010

&ЛТ;кнопка типа="кнопка" ID="АБВ"и GT;копировать&ЛТ; кнопка/&ГТ;

// рассмотрим, что у нас есть несколько текстовых полей

< input id=" a1 "type= "text" />
< input id=" a2 "type= "text" />
< input id=" a3 "type= "text" />
&ЛТ;ИД входного="aInfo" тип="текст" класс="скрыть"/&ГТ;

-------------------------Яваскрипт-----------------

var copyBtn = документ.querySelector('#abc');

copyBtn. addEventListener ('click', функция () {

// '\t - это добавление пространства между текстами, а для текстового поля 'aInfo' я удаляю класс 'hide', потому что если он скрыт, то вы не получите выбранные данные в буфер обмена

$("#aInfo"). removeClass ("скрыть");

$("#aInfo").функция val($("#А1").функция val() + "\Т" + $("#А2").функция val() + "\Т" + $("#А3").Валь()).вал());


var infoField = документ.querySelector ('#aInfo');

инфополе. выберите();

document. execCommand ('copy');
$("#aInfo"). addClass ("скрыть");

}, ложный);


Теперь вы нажимаете CNTRL + V в блокноте или excel, ваши данные из всех текстовых полей будут скопированы.
Счастливого Кодирования !!


Рейтинг:
1

zamanipour

Вы можете создать временный элемент и поместить в него свой окончательный текст, а затем использовать document.execCommand (), чтобы поместить этот окончательный текст в буфер обмена. подобный этому:


var text = text1 + text2 + text3;
copyTextToClipboard (текст);


function copyTextToClipboard(text) {
        var textArea = document.createElement("textarea");
        //
        // *** This styling is an extra step which is likely not required. ***
        //
        // Why is it here? To ensure:
        // 1. the element is able to have focus and selection.
        // 2. if element was to flash render it has minimal visual impact.
        // 3. less flakyness with selection and copying which **might** occur if
        //    the textarea element is not visible.
        //
        // The likelihood is the element won't even render, not even a flash,
        // so some of these are just precautions. However in IE the element
        // is visible whilst the popup box asking the user for permission for
        // the web page to copy to the clipboard.
        //

        // Place in top-left corner of screen regardless of scroll position.
        textArea.style.position = 'fixed';
        textArea.style.top = 0;
        textArea.style.left = 0;

        // Ensure it has a small width and height. Setting to 1px / 1em
        // doesn't work as this gives a negative w/h on some browsers.
        textArea.style.width = '2em';
        textArea.style.height = '2em';

        // We don't need padding, reducing the size if it does flash render.
        textArea.style.padding = 0;

        // Clean up any borders.
        textArea.style.border = 'none';
        textArea.style.outline = 'none';
        textArea.style.boxShadow = 'none';

        // Avoid flash of white box if rendered for any reason.
        textArea.style.background = 'transparent';


        textArea.value = text;

        document.body.appendChild(textArea);

        textArea.select();

        try {
            var successful = document.execCommand('copy');
        } catch (err) {
        }

        document.body.removeChild(textArea);
    }



эта функция пришла из: Как скопировать файл в буфер обмена на JavaScript? - переполнение стека[^]