インライン編集にて品名を入力し、既に同一の品名が登録済みの場合は品名フィールドにエラー表示を実行しています(javascriptでチェック実施)。この時キャンセルをクリックしインライン編集を中止した時、表示上エラー時の品名が表示された状態になっています。F5を押下し再表示を実行すれば元の値が出てきます。この状態の時キャンセルをクリックした場合元の品名を正しく表示することは可能でしょうか?
キャンセルのイベントがあればlocation.reload()を実行し再表示ができるのですが・・・
インライン編集にて品名を入力し、既に同一の品名が登録済みの場合は品名フィールドにエラー表示を実行しています(javascriptでチェック実施)。この時キャンセルをクリックしインライン編集を中止した時、表示上エラー時の品名が表示された状態になっています。F5を押下し再表示を実行すれば元の値が出てきます。この状態の時キャンセルをクリックした場合元の品名を正しく表示することは可能でしょうか?
キャンセルのイベントがあればlocation.reload()を実行し再表示ができるのですが・・・
この現象は、知りませんでした。
試してみたら、確かに JavaScript でエラーにした後で、編集をキャンセルするとエラーにした値が残りますね。
文字列項目だけでなく数値項目も同じでした。
なお、kintone 標準の文字列制約などでエラー時は、キャンセルしても元の値が表示されました。
対応策としては、kintone で提供されているイベントが無いので、DOM であれこれするしかないと思います。
試しに作ってみましたが、キャンセルボタンの class を見ているので、kintone の仕様変更で動作しなくなるリスクがあります。
(function () {
‘use strict’;
kintone.events.on(‘app.record.index.show’, function (event) {
document.addEventListener(‘click’, function (e) {
e.target.classList.forEach(function (xx) {
if (xx == ‘recordlist-cancel-icon-gaia’) {
location.reload();
}
});
});
return event;
});
})();
rex0220様
返信ありがとうございます。あまりないケースとはいえ使用するユーザーから見ると誤解を招くことになります。わざわざjavascriptまで作っていただき大変勉強になります。参考にさせていただきたいと思います。