質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
コピー

元のオブジェクトを破壊することなく、オブジェクトの複製を生成することをコピーと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

1297閲覧

JavaScript コピー機能

29831

総合スコア0

コピー

元のオブジェクトを破壊することなく、オブジェクトの複製を生成することをコピーと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/09 13:34

前提・実現したいこと

プログラミング初学者です。
現在JavaScriptを使ったコピー機能を作成しています。

(画面イラスト)

 [14][20][20][20]

[コピーボタン]

(希望)
・4つのテキストエリアに入力した値をコピーボタン押下後に全てコピーしたいです。

一つのテキストエリアに入力した値をコピーするコードをかけたのですが、
複数のテキストエリアの入力値がコピーできません。

初学者でなにもわからずつまずいています。
教えていただけると幸いです。よろしくお願いいたします。

該当のソースコード

JavaScript

1 <html> 2 <body> 3 <!-- コピー対象要素とコピーボタン --> 4 <input class="copyTarget" type="text" value=""> 5 <br><button onclick="copyToClipboard()">コピー</button> 6 </body> 7 <script> 8 function copyToClipboard() { 9 // コピー対象をJavaScript上で変数として定義する 10 var copyTarget = document.getElementsByClassName("copyTarget"); 11 12 // コピー対象のテキストを選択する 13 copyTarget.select(); 14 15 // 選択しているテキストをクリップボードにコピーする 16 document.execCommand("Copy"); 17 18 // コピーをお知らせする 19 alert("コピーできました! : " + copyTarget.value); 20 } 21 </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/07/12 02:59

わかったのかわからなかったのか何か言ってください。
guest

回答2

0

非表示のテキストをコピーする方法がいくつかみつかりました。
非表示のコントロールを作り、対象文字列をそこに入れ、そしてコピーすればいいのではないかと思います。

JavaScript - クリップボードへのコピーでinput要素を非表示にしたい|teratail
JavaScript - textareaを非表示にした状態で値をクリップボードコピーしたい|teratail
非表示のtextareaの値をクリップボードにコピーする(clipboard.js) | プロガジ.DEV

投稿2020/07/09 13:46

Zuishin

総合スコア28669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/07/09 14:01

最初の方法がコントロールを作らなくていいのでおすすめです。
guest

0

(例)
var text = text1 + text2 + text3 + text4;
$(this).append('<textarea class="clipbtextarea">' + text + '</textarea>');
$('.clipbtextarea').select();
document.execCommand("Copy");

上記の様にすれば如何でしょうか。
以下の参考サイトも一つのエリアですが、コピーする時に一時$().append()でtextareaに文字を入れそれをクリップボードにコピーしてるので、textareaに入れる時に4つのエリアの文字を連結すれば良いかと思いましたが如何でしょうか。

[参考サイト]
クリップボードにJavaScriptでテキストをコピーする方法
https://dad-union.com/javascript/581

投稿2022/05/15 06:29

you1tech

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問