Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает копирование из буфера обмена в input (https://javascript.ru/forum/misc/76721-ne-rabotaet-kopirovanie-iz-bufera-obmena-v-input.html)

javascript_pupil 06.02.2019 16:03

Не работает копирование из буфера обмена в input
 
Взял готовый пример из stackoverflow, а он у меня почему-то не работает. Помогите, пожалуйста, найти ошибку. Содержимое буфера должно вставляться в поле input.

<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta name="Description" content="">
<meta name="Keywords" content="">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">


<title>Test</title>
</head><body>
<div class="justify-content-center wrap"><form name="new_record" action="test.cgi" method="get">
<h1>Test</h1><br>

<div class="d-flex justify-content-center">

<script type="text/javascript">

async function paste(input) {
const text = await navigator.clipboard.readText();
document.new_record.input.value = text;

}

</script>
<input id="test_field" type="text" name="test_field" value="" placeholder="" onclick="paste(this)" required>
</div>

<button type="submit" class="btn btn-primary cl_btn">Отправить</button>
<button type="reset" class="btn btn-primary cl_btn">Очистить</button>
</div></form>
</body></html>

Nexus 06.02.2019 16:14

Странно вы как-то к инпуту обращаетесь.
К форме обращаетесь по имени, а к инпуту по тэгу.

Вообще если текст из буфера читается корректно, то можно попробовать так:
async function paste(input) {
    input.value = await navigator.clipboard.readText();
}

javascript_pupil 06.02.2019 17:55

У меня никак не работает. Ни с Вашим вариантом, ни с
document.new_record.test_field.value = text;


Если кто-то поможет разобраться - буду признателен.

ksa 07.02.2019 08:14

Цитата:

Сообщение от javascript_pupil
Если кто-то поможет разобраться - буду признателен.

В сети много примеров как работать с БФ...
https://habr.com/ru/company/ruvds/blog/358494/
http://qaru.site/questions/21329/jav...-cross-browser
https://stackoverrun.com/ru/q/206076

Вот даже предлагают готовые методы использовать
https://imapo.ru/clipboard-js-нов...в-буфер/

javascript_pupil 07.02.2019 09:34

Примеров то много, только ни один из них не работает... :(
я вот этот пробовал: https://stackoverflow.com/questions/...-in-javascript

Мне всего то надо по щелчку мыши копировать буфер в input. У меня есть вариант, но он не работает с Safari. :(

ksa 07.02.2019 14:08

Цитата:

Сообщение от javascript_pupil
только ни один из них не работает

Цитата:

Сообщение от javascript_pupil
У меня есть вариант, но он не работает с Safari.

Вот тебе и ответ - нет нормального кроссбраузерного способа. ;)


Часовой пояс GMT +3, время: 05:53.