カスタムコントロールでenableModifiedFlagプロパティをtrueに設定した場合。生成されたページソースの下部に次のコードが表示されます。
ユーザーが変更されたページから離れると、すべてが正常に機能します。「未保存データ」のアラートメッセージが表示されます
<script type="text/javascript">
function view__id1__id2__id95__id98__id105_clientSide_onclick(thisEvent) {
return validateForm();
}
XSP.attachDirtyUnloadListener("This document may contain unsaved changes.");
XSP.addOnLoad(function() {
XSP.attachEvent("view:_id1:saveActionEventHandler", "view:_id1", "ondirtysave", null, true, 2);
XSP.attachEvent("view:_id1:_id2:_id95:_id98:_id105", "view:_id1:_id2:_id95:_id98:link1", "onclick", view__id1__id2__id95__id98__id105_clientSide_onclick, true, 2);
XSP.attachEvent("view:_id1:_id2:_id95:_id98:_id106", "view:_id1:_id2:_id95:_id98:link2", "onclick", null, true, 2);
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:businessName11");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:businessName21");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:address11");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:address21");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:city1");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:cbState");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:zipCode1");
XSP.attachDirtyListener("view:_id1:_id2:_id95:_id98:phoneNumber1");
});
</script>
ドキュメントがロックされている場合にドキュメントのロックを解除し、context.redirectToPageを作成するSSJSの[終了]ボタンがあります。問題は、このボタンがenableModifiedFlagロジックの背後にあるコードをトリガーしていないため、ユーザーが未保存のデータを残したい場合にプロンプトが表示されずにページを離れることです。
CCSJまたはSSJSを使用して、このボタンからenableModifiedFlagの背後にあるコードをトリガーする方法はありますか?