【问题标题】:Have to push button twice to get partial refresh to work必须按两次按钮才能使部分刷新工作
【发布时间】:2012-11-13 22:48:08
【问题描述】:

背景:具有多个数据源的 Xpage。选项卡式表格的每一行都包含一个编辑面板,该面板绑定到与主页不同的数据源。每个页面都包含一个用于输入新文档的表格。这些文档是主文档的子文档。有一个视图控件可以立即显示用户创建的文档。表格中的按钮除了添加一些控制字段外,还保存了文档。它对editPanel 进行部分刷新。

最近我为条目表中的字段添加了验证。我使用一个功能,并防止从按钮以外的任何东西进行更新。我正在使用这篇博文中的 Tommy Valand 方法:http://dontpanic82.blogspot.com/2010/03/xpages-making-validation-behave.html。如果我不使用 Tommy 的方法,那么验证器会在切换选项卡时触发,并且无用。

所有这些都有效,但我遇到了以下问题。 1)我必须按两次按钮才能触发部分刷新。不仅如此,验证消息在按下按钮两次之前不会触发。在添加验证之前,第一部分仍然是一个问题。 2) 刷新确实发生后表值不清除。这曾经在添加验证之前起作用。现在清除这些值的唯一方法是完全刷新 (F5)。

我真的只需要部分刷新才能表现得像它应该的那样。非常感谢任何帮助。

【问题讨论】:

  • 您熟悉 Firefox 的 Firebug 插件吗?您是否检查过第一个“什么都不做”的请求是否向服务器发送了请求?
  • Tommy,我没用过那个工具。我必须使它适用于 IE,因为这是这里的标准。我将不得不将它添加到我的工具箱中。我 99% 确定在第二次点击之前该请求会被忽略。您认为使用 Dojo 日期选择器与它有什么关系吗?
  • Tommy,我安装了 Firefox 和 Firebug。这是似乎发生的事情。第一次单击时,确实发生了 POST,但没有错误消息。在后续单击时,会触发错误消息,但不会报告。 POST 在通过验证之前不应该永远不会发生。
  • 此外,删除 Dojo 数据选择器也没有任何区别。我只提到它是因为在我添加它之后,xpages 表现得很奇怪,就像在数据选择器之后添加任何新元素一样,无论我的光标放在哪里。
  • 我提到Firebug的原因是它很容易调试对服务器的请求。关于帖子。该页面必须将数据发布到服务器进行验证(除非您使用客户端验证,我没有经验)。你的意思是第一次点击发送POST,但第二次没有?如果您尝试使用其中一个选项卡式面板的内容创建一个 test-xpage,这是否按预期工作?我已经有一段时间没有使用选项卡式面板了,所以我不记得它们有什么问题。

标签: xpages


【解决方案1】:

我正在回答我自己的问题,因为我想我可能已经发现了为什么部分刷新表现如此不稳定。以下是我解决问题的方法:每个选项卡都有一个编辑面板。如果我让编辑面板对其自身进行部分刷新,那么该面板上的按钮的行为似乎与您期望的一样。

当我新建一个核心控制面板时,默认在No submit。我不知道这个问题是否仅在使用多个数据源和/或选项卡表时才会出现。希望此修复程序对以后的人有用。如果您在部分刷新正常工作时遇到问题,值得一试。

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 1970-01-01
    • 2020-06-29
    • 2022-01-22
    • 1970-01-01
    • 2012-06-04
    • 2015-07-02
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多