https://gist.github.com/773373
非相关字段在页面刷新时初始化。
重现步骤
- 访问页面。注意这两个警报。“初始化 - 取消选中”和“启用 - 取消选中”。
- 选中复选框。检查控制已初始化。又是两个警报。这种控制以前不相关。
- 刷新页面(我使用的是 firefox)。请注意,非相关控件已初始化,但相关控件未初始化。您可以从警报中看出。
有趣的是,显示了正确的组件,但在错误的组件上调用了 xforms-enabled。
https://gist.github.com/773373
非相关字段在页面刷新时初始化。
重现步骤
有趣的是,显示了正确的组件,但在错误的组件上调用了 xforms-enabled。
为页面刷新的非相关控件获取这 2 个警报是正常的。但是,在那之后,您还应该收到新相关控件的警报。我为此创建了一个错误,并将在问题解决后更新此响应。
当您在 Firefox 上执行重新加载 (ctrl-r) 时,HTML 处于其初始状态,因为这是第一次加载页面。然而,由于 Firefox 在重新加载之前将表单字段重置为它们的值,我们可以使用 JavaScript 检测到发生了重新加载,并且浏览器可以询问服务器“请告诉我我需要在初始 HTML 上执行的所有操作以将其放回状态 X”。当您单击复选框时,服务器会重新发送它发送的所有事件,除了<xxf:script>
负责您的脚本运行的 ,因此您观察到的行为。
我们对这个问题进行了一些头脑风暴,并描述了一个解决方案,在这一点上仍然需要实施。