キャンセルボタンが効かなくなる

<https://cybozudev.zendesk.com/hc/ja/articles/211725926-%E9%96%A2%E9%80%A3%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%82%E7%85%A7%E5%85%88%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AB%E7%B0%A1%E5%8D%98%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E7%99%BB%E9%8C%B2>

 上記リンク先を参考に、表示しているレコードの情報を元に、

別アプリの新規レコード作成画面に遷移させたいのですが、

別アプリの方に値をセットすることはできるのですが、

キャンセルボタンが効きません。

修正方法をご教示いただきたくお願いいたします。

― アクションボタンを使用しないのは、

ドロップダウンやルックアップを反映させたいためです。

 

//予約A注文書処理
function 予約A注文書(event) {
var wR = event.record;
//予約A注文書の新規作成画面のURLへのジャンプ
var new_window = window.open(“/k/115/edit”);
new_window.addEventListener(“load”, function() {
window.postMessage(new_window.kintone !== null, location.origin);
});
window.addEventListener(“message”, (function() {
return function field_set() {
//新規レコード側のフィールドを指定してsetする
var new_app = new_window.kintone;
var new_record = new_app.app.record.get();
// new_record.record.company.value = field_check;
new_record.record.発注番号.value = wR.発注番号.value;
new_record.record.仕入先コード.value = wR.仕入先コード.value;
//ルックアップ更新
new_record.record.仕入先コード.lookup = true;
new_app.app.record.set(new_record);
window.removeEventListener(“message”, field_set, false);
return event;
};
})(), false);
}

 

 

Tokunaga さん

キャンセルボタンは、history.back() を実行していると思われます。
そのため、新規window を開いた場合は、履歴がありませんので、画面遷移しません。
アクションボタンで、追加画面を開いた場合は、画面を閉じますので、同様に画面を閉じる処理を組み込みます。

...
return function field_set() {
var cancel1 = new_window.document.getElementsByClassName('gaia-ui-actionmenu-cancel');
cancel1[0].addEventListener('click', function() {
new_window.close();
}, false);

....

rex0220さん

 

いつもありがとうございます。

同じような動作にすることができました。

 

どうもありがとうございます。