• 締切済み

クリップボードにコピー ソースをより少なく

現在は下記のようにクリップボードへのコピーボタンを つくっています function clip_copy() { if (document.all && navigator.userAgent.match(/windows/i) && document.obj.area.value) { copy_obj = document.obj.area.createTextRange() copy_obj.execCommand("Copy") alert("クリップボードにコピー完了"); } } <body>下 <form name="obj"><textarea name="area"> ~内容~ </textarea> <input type=button value="クリップボードにコピー"></form> 今までは1つのページに<textarea>が ひとつだったので、問題なかったのですが、 複数になり、今後も増えそうです(もちろん同ページ内で)。 全ての<textarea>にクリップボードにコピーできる ボタンをつけたいのですが、 単純に上記のものを複数つくると、ソースやファイルが 増えてしまいます。 シンプルな記述方法はないものかと 模索中です。ご存知の方いらっしゃいましたら ご教授ください。

みんなの回答

  • KanjiTalk
  • ベストアンサー率30% (7/23)
回答No.1

function copyFrom(textarea) { if (document.all && navigator.userAgent.match(/windows/i) && document.obj.area.value) { copy_obj = document.obj[textarea].createTextRange() copy_obj.execCommand("Copy") alert("クリップボードにコピー完了"); } } <input type=button onclick="copyFrom('area')" value="コピー"> のようにコピー先のテキストエリアの名前を渡してやればどうでしょう。 オブジェクト名["プロパティ名"] でもオブジェクトのプロパティを参照できます。 テストはしていないので、試してみて下さい。

etu007
質問者

お礼

まだ解決にはいたっていませんが、もう少し考えてみます。 ありがとうございました

etu007
質問者

補足

回答ありがとうございます。 もしかしたら自分の基本がなっていないのかもしれません。 うまく作動せずに難儀しております。 外部ファイルにしているせいでしょうか…

関連するQ&A