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

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

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

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

HTML

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

Q&A

解決済

1回答

2342閲覧

ボタンを押すとテキストボックス内のテキストをコピーするコマンドで、独立したボタンに同一の動作をさせたい。

4shinsu

総合スコア0

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/05/24 06:19

前提・実現したいこと

複数のテキストボックスと複数のボタンを使用し、ボタンを押すとテキストボックス内のテキストがクリップボードにコピーするようにしたい。
今のコードでは上記を10個以上のボタンで使用できないため、10個以上のボタンに適用できるコードに変更したい。

該当のソースコード

javascript

1function CopyClipboard(index) { 2var copyTarget = document.getElementById("txt" + index) ; 3/*現状、indexに対して数字1文字しか入れれない。 4この部分を部分一致か任意の変数にしたい。*/ 5copyTarget.select(); 6document.execCommand('copy'); 7}

HTML

1<!-- コピーペーストする文章が改行を含めるため、テキストエリアのコマンドを使用 --> 2<textarea id="txt1" rows="3" cols="30" readonly>・あああ 3・いいい 4・ううう</textarea> 5<!-- "CopyClipboard(1)"の(1)の部分が10(数字二桁)やa(数字以外)では適用されない--> 6<button onclick="CopyClipboard(1)">Copy</button> 7 8<textarea id="txt2" rows="3" cols="30" readonly>・えええ 9・おおお 10・かかか</textarea> 11<button onclick="CopyClipboard(2)">Copy</button>

試したこと

■querySelectorコマンドを使用してみましたが理解不足なのか自分ではわかりませんでした…。
var copyTarget = document.getElementById("txt" + index) ;
→ var copyTarget = document.querySelector('[id^="txt"]') ;

■「index」を「string」に変更してみましたが動作しませんでした。

補足情報

・テキストボックスのIDはユニーク名です。
・javascript、CSS、htmlを1つのファイルに記述しています。
・上記のプログラミング言語以外は使用しないつもりです。
・できればオフラインで完結させたいです。

より適したコマンドがあれば、ご教授お願い致します。
ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

自己解決

下記のサイトを参考にしましたら期待通りの動作をしました!

https://migi.me/javascript/copy-clipboard-textarea/

投稿2021/05/24 08:06

4shinsu

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問