前提・実現したいこと
複数のテキストボックスと複数のボタンを使用し、ボタンを押すとテキストボックス内のテキストがクリップボードにコピーするようにしたい。
今のコードでは上記を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つのファイルに記述しています。
・上記のプログラミング言語以外は使用しないつもりです。
・できればオフラインで完結させたいです。
より適したコマンドがあれば、ご教授お願い致します。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。