- 締切済み
クリップボードにコピー ソースをより少なく
現在は下記のようにクリップボードへのコピーボタンを つくっています 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>にクリップボードにコピーできる ボタンをつけたいのですが、 単純に上記のものを複数つくると、ソースやファイルが 増えてしまいます。 シンプルな記述方法はないものかと 模索中です。ご存知の方いらっしゃいましたら ご教授ください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- KanjiTalk
- ベストアンサー率30% (7/23)
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="コピー"> のようにコピー先のテキストエリアの名前を渡してやればどうでしょう。 オブジェクト名["プロパティ名"] でもオブジェクトのプロパティを参照できます。 テストはしていないので、試してみて下さい。
お礼
まだ解決にはいたっていませんが、もう少し考えてみます。 ありがとうございました
補足
回答ありがとうございます。 もしかしたら自分の基本がなっていないのかもしれません。 うまく作動せずに難儀しております。 外部ファイルにしているせいでしょうか…