クリップボードへのコピーについて

お世話になります。

ルックアップなどで検索した文字フィールドをコピーしたいです。

ルックアップで表示されたもの(保存前)をコピーする場合

どこを変えたらよいかご教授いただけませんでしょうか?

保存後のフィールドの値をコピーするところまではできております。

よろしくお願いいたします

 

function (resp) {
let copyFrom = document.createElement("textarea");
copyFrom.textContent = event.record.検索結果.value;
let bodyElm = document.getElementsByTagName("body")[0];
bodyElm.appendChild(copyFrom);
copyFrom.select();
document.execCommand('copy');
alert("クリップボードにコピーしました。");
bodyElm.removeChild(copyFrom);
}).appendTo(el);

 

 

青山昌司様

お世話になっております.
トヨクモの江田です.

フィールド値変更時イベントで動作させればよいと思います.
フィールド値変更時イベントにルックアップフィールドは直接指定できないので,「ほかのフィールドのコピー」に設定したフィールドを指定すると良いと思います.
https://developer.cybozu.io/hc/ja/articles/201941984#step3

江田様

お世話になります。

ご返信ありがとうございます。

今回、コピーするフィールド(「検索結果」)はjsで

ルックアップで入力するフィールドから既にコピーをしているフィールドです。

ボタンの動作で下記のようにしてみましたが現状うまくコピーができません。。。

ご教授のいただけますでしょうか。

よろしくお願いいたします。

 

(function($) {
'use strict';
let events = [
'app.record.create.show',
'app.record.edit.show',
'app.record.edit.change.検索結果',
'app.record.create.change.検索結果',
]
kintone.events.on(events, function(event){
let el = kintone.app.record.getSpaceElement('my_space_field');
el.style.marginTop = '22px';//下へ動かす
$('<input />', {
'type': 'button',
'name': 'c_button',
'value': '<<クリップボードにコピー',
'class': 'kintoneplugin-button-dialog-ok',
}).on('click', function (resp) {
let copyFrom = document.createElement("textarea");
copyFrom.textContent = event.record.検索結果.value;
let bodyElm = document.getElementsByTagName("body")[0];
bodyElm.appendChild(copyFrom);
copyFrom.select();
document.execCommand('copy');
alert("クリップボードにコピーしました。");
bodyElm.removeChild(copyFrom);
}).appendTo(el);
});
})(jQuery);

 

 

青山昌司様

お世話になっております.

自作したボタンのclick時に動作するのであれば、changeイベントでボタンの再設置などは必要ないかと思います。
events = [‘app.record.create.show’, ‘app.record.edit.show’]
のみで大丈夫だと思います。

また、ボタンのclick時のレコード値を取得するので、
copyFrom.textContent = event.record.検索結果.value;

copyFrom.textContent = kintone.app.record.get().record.検索結果.value;
に変更すると良いと思います。

江田様

お世話になります。

返信ありがとうございます。

ご教示いただいた方法で保存前の値をとることができるようになりました。

使っていろいろ試してみたいと思います。

本当にありがとうございました。

今後ともよろしくお願いいたします。

 

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。