为什么选择“关键字更改时刷新字段”会加载一个全新的文档?

问题描述 投票:0回答:2

备注9.01

为什么每次刷新时网上的新文档都会更改唯一的ID?!?这会导致各种各样的问题。显然这是一个不同的文件,所以也许我应该重新说出来,但我想你知道我在说什么。

我有一个列表框字段,其中选择了“刷新关键字更改字段”的设置。这允许隐藏时间重新计算,以及其他字段重新计算。我还有一个显示当前@DocumentUniqueID的计算文本。

选择是:“选择一个”:“一个”:“两个”:“三个”

在网络上使用此表单时,在新文档中,我从下拉列表中选择此字段中的内容,它会刷新表单,我刚刚选择的选项将被删除,“选择一个”将再次显示。

保存文档后,此操作会稳定,您不会切换文档,并且不会清除字段值。我只是想了解这个的逻辑,并找出其他人如何解决这个问题。

任何反馈都会很棒。如果我做一些蠢事,请告诉我,我可以接受。

  • 马特
lotus-domino
2个回答
0
投票

我不知道你正在处理的“各种问题”是什么,但是就我所记得的那样,Notes文档没有一个稳定的@DocumentUniqueID值(或者根本就没有)第一次被保存这是我的惯例,我认为是相当广泛接受的做法,而不是编写会产生问题的代码。如果在第一次保存之前必须依赖于文档中的某些唯一值,我总是使用带有@Unique的计算时合成字段作为其值。


0
投票

我的建议是不要在网络上使用的表格上使用“关键字更改的刷新字段”。我处理它的方法是使用一些JavaScript来处理它。

我个人会这样做,在你的情况下:

  1. 将jQuery添加到表单中,您可以轻松地在页眉中添加CDN链接。
  2. 编写一个名为(例如)brecalculateFields()的JavaScript函数。此函数将计算字段值带执行隐藏/显示表单的字段/部分。
  3. 为更改值时要触发字段重新计算的所有字段设置类。我会叫班级recalcForm
  4. 使用类recalculateFields()将函数changed绑定到所有字段的recalcForm事件。

您可能还希望将该函数绑定到其他一些事件,具体取决于您在表单上的字段类型。

$(".recalcForm").on("change", function(e) {
    recalculateFields();
});
$(".recalcForm").on("blur", function(e) {
    recalculateFields();
});

我过去曾在博客中写过这篇文章,希望你能在那里使用一些信息: http://blog.texasswede.com/using-jquery-to-emulate-notes-hide-when/ http://blog.texasswede.com/jquery-a-flexible-way-to-showhide-sections/

© www.soinside.com 2019 - 2024. All rights reserved.