在lotus notes中从另一个表单获取字段值,以便在web上执行验证
Getting field values from another form to perform validation on the web in lotus notes
我在lotus notes表单(比如主表单)上有一个单选按钮字段。如果它被选择为"是",链接将被解除隐藏。点击此链接,将打开另一个表单。如果在单选按钮中,在主表单中选择"Yes",则必须填写第二个表单中的内容。所以我需要写一个验证,如果单选按钮字段是"是",第二个表单内的字段没有填写,那么它应该显示一个弹出窗口,要求填写第二个表单中的字段。如何在主表单上获得第二个表单中的字段值以执行验证?
你真的不能做你所描述的你想做的。当您想要对第一个表单的数据进行验证时,第二个(弹出式)表单及其内容将不再存在于客户机(浏览器)上下文中。有三种可能的方法来解决这个问题,但其中只有两种是实际可行的。
让我们先抛弃这个不切实际的方法。这将使弹出式表单将一些内容写回它的父/打开器,或者作为JavaScript变量,或者作为DOM内容(Domino表单外部的字段或隐藏元素等),或者作为cookie值。跨浏览器可靠地设置打开器关系可能是一个问题,但这是可行的。问题是,无论您如何做到这一点,您都不能保证当您需要它(或期望它)时该值将在那里,除非最初填写父表单。如果曾经编辑过文档,则无法知道用户是否已经在弹出窗口上填写了数据。在初始会话期间使用表单写入JS变量或DOM的任何内容仅在初始会话期间存在。饼干不是永久的;即使你试图通过过期值赋予它们永生,它们也可以被用户清除。不管你怎么做,你都是在告诉那些以前填写过你想要的数据的人,他们需要再填写一次。
第二种方法是回调服务器,查看弹出表单是否已提交并转换为Notes文档。这根本无法扩展;即使所有的事情都发生在一台服务器上,也无法保证您正在查找的文档在您需要它的时候已经写好并建立了索引,这涉及到时间因素。如果用户已经看到过一次验证唠叨,按你说的做了,然后又得到了唠叨,你就没有交到任何朋友。
第三种方法是在一个表单上完成所有需要做的事情。(如果你对弹出窗口的想法很感兴趣,你可以使用CSS来做这个弹出窗口。)你知道,不管你是否喜欢另一种方式,这都不重要,这是唯一可靠的方式,让用户满意。是的,这将意味着你需要做一些额外的工作。你是一名开发人员——这是你赖以为生的工作。您甚至可以保持现有应用程序的结构不变;WQO和WQS代理意味着您可以在将文档发送给用户之前将它们粘合在一起,并在保存它们之前再次将它们分开。这是唯一的方法,保证足够快,足够可靠,可以在网络上使用。
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 如何使用Selenium Web驱动程序验证电子邮件
- asp.net web表单客户端验证始终回发
- 没有这样的元素:找不到元素:正在验证web元素是否丢失
- 使用rest客户端/javascript验证microsoftoutlook-web(owa)
- 使用普通javascript和验证的自定义web组件
- TextBox自定义Web控件和JavaScript客户端验证
- Web 文本字段中的字符集验证
- 无法连接到网络服务器.验证 Web 服务器是否正在运行,并且传入的 http 请求未被防火墙阻止
- 如何使用 Web 驱动程序验证从文本字段中提取自动填充值
- 在 Web 浏览器中禁用 Javascript 应禁用服务器验证控件
- 如何最好地处理Web应用程序中的数据验证:纯JavaScript代码或对熟悉的perl包的ajax调用
- 将 JS 文件添加到 web.config 中用于表单身份验证的例外文件列表中会导致无限重定向
- 如何在我的 Web 表单中选择标记设置验证
- 关于具有用户身份验证的 Web 应用程序的结构
- 如何验证请求是否来自特定 Web 应用
- 如何在Python开发Web服务器上使用实际的Google身份验证
- 使用ASP.NET framework 4.5 Web Forms进行引导验证
- Restify静态Web服务器在启用HTTP基本身份验证后停止工作
- 使用Javascript的OCR Web验证