停止提示在 Form Runner 上留下未保存的表单
Stop prompt to leave unsaved form on Form Runner
我们正在另一个 Web 应用程序中使用 Form Runner(通过将表单加载到 iframe 中)。另一个 Web 应用程序具有会话超时功能,要求用户在特定分钟数后重新登录。
在应用程序中加载表单时,会话超时不起作用(无法更改页面),因为 Form Runner 正在提示询问用户是否确定要离开页面(如表单未保存)。
我们目前不想在超时时保存任何现有数据,所以不要介意数据丢失(不是很大的表格)。
有没有办法在卸载时禁用此提示?
感谢@orbeon 指出了定义 beforeUnload 函数的文件。
提示是通过windowbeforeUnload
事件创建的,在Orbeon Form Runner中是在check_dirty_script.xhtml
中设置的。加载表单后,可以通过重置 window.onbeforeunloa
d 轻松覆盖它。要在您的表单中执行此操作,请将脚本附加到 xforms-ready
事件:
...
<xf:model...>
....
<xf:action ev:event="xforms-ready">
<xxf:script>
window.onbeforeunload = null;
</xxf:script>
</xf:action>
</xf:model>
</xh:head>
<xh:body>
<fr:view>
....
我们正在另一个 Web 应用程序中使用 Form Runner(通过将表单加载到 iframe 中)。另一个 Web 应用程序具有会话超时功能,要求用户在特定分钟数后重新登录。
在应用程序中加载表单时,会话超时不起作用(无法更改页面),因为 Form Runner 正在提示询问用户是否确定要离开页面(如表单未保存)。
我们目前不想在超时时保存任何现有数据,所以不要介意数据丢失(不是很大的表格)。
有没有办法在卸载时禁用此提示?
感谢@orbeon 指出了定义 beforeUnload 函数的文件。
提示是通过windowbeforeUnload
事件创建的,在Orbeon Form Runner中是在check_dirty_script.xhtml
中设置的。加载表单后,可以通过重置 window.onbeforeunloa
d 轻松覆盖它。要在您的表单中执行此操作,请将脚本附加到 xforms-ready
事件:
...
<xf:model...>
....
<xf:action ev:event="xforms-ready">
<xxf:script>
window.onbeforeunload = null;
</xxf:script>
</xf:action>
</xf:model>
</xh:head>
<xh:body>
<fr:view>
....