マーチャントの詳細 (各マーチャントの名前、電話番号、電子メール アドレス) をテーブルに出力する検索フォームがあります。
これらの各フィールドの横にコピー ボタンを配置して、ユーザーがクリックしてクリップボードにコピーできるようにしたいと考えています (コピーするとテキストが強調表示されます)。ユーザーは IE9 のみでブラウジングします。
問題は、複数の結果セットが存在する可能性があるため、以下のテキストエリアで行ったように、スクリプトが特定の番号付き関数を呼び出すことができないことです。
function highlightmetasearch01() {
document.copydata01.text2copy01.select();
document.copydata01.text2copy01.focus();
}
function copymetasearch01() {
highlightmetasearch01();
textRange = document.copydata01.text2copy01.createTextRange();
textRange.execCommand("RemoveFormat");
textRange.execCommand("Copy");
}
function highlightmetasearch02() {
document.copydata02.text2copy02.select();
document.copydata02.text2copy02.focus();
}
function copymetasearch02() {
highlightmetasearch02();
textRange = document.copydata02.text2copy02.createTextRange();
textRange.execCommand("RemoveFormat");
textRange.execCommand("Copy");
}
HTML:
<textarea name="text2copy01">The first textarea.</textarea>
<br />
<button onclick="copymetasearch01();return false;">COPY</button>
<textarea name="text2copy02">The second textarea.</textarea>
<br />
<button onclick="copymetasearch02();return false;">COPY</button>
これが可能かどうか疑問に思っていましたか?...
<td><span>Name from DB here</span> <button onclick="<!--copy and highlight text within most recent span tag-->">COPY</button></td>
<td><span>Phone from DB here</span> <button onclick="<!--copy and highlight text within most recent span tag-->">COPY</button></td>
<td>Other text here that shouldn't be highlighted or copied <span>Email address from DB here</span> <button onclick="<!--copy and highlight text within most recent span tag-->">COPY</button></td>
または、これにアプローチするより効率的な方法はありますか?