【问题标题】:Submit Lotus Notes XPage form from outside with plain JS使用纯 JS 从外部提交 Lotus Notes XPage 表单
【发布时间】:2014-12-17 15:56:03
【问题描述】:

我有一个简单的 Lotus Notes XPage,只有一个可编辑的 RichText 对话框,该对话框使用 iframe 嵌入到更大的表单中。

较大的表单有一个提交按钮,它触发一些 javascript,最后是一个注释代理,它保存较大表单内的所有非富文本值。

当然,用户不必使用两个提交按钮,所以我不会有 XPage 的(可见的)提交按钮。相反,我想使用 javascript 告诉 iframe 提交表单。

使用iframe.document.forms[0].submit() 不起作用 - 表单确实已提交到 Notes 服务器,但 XPages 不会保存我所做的更改。

使用带有“保存数据源”操作的简单 XPage 按钮,保存就像一个魅力,但我不希望用户必须以正确的顺序单击两个按钮。

我还尝试了以下 javascript 代码来使用 IBM 提交给服务器的值填充一些不可见的字段,但这也无济于事:

iframe.document.forms[0].elements["view:_id1:inputRichText1_h"].value = iframe.document.forms[0].elements["view:_id1:inputRichText1"].value;
iframe.document.forms[0].elements["view:_id1:inputRichText1_mod"].value = true;
iframe.document.forms[0].elements["$$xspsubmitid"].value="view:_id1:_id4";
iframe.document.forms[0].elements["$$xspsubmitscroll"].value="0|0";
iframe.document.forms[0].submit();

所以现在我问你:如何正确提交表单内容,而无需用户实际单击 XPages 按钮?我能否以编程方式触发对该按钮的点击,这与人类实际点击无关,但人类除外?

【问题讨论】:

    标签: javascript forms iframe xpages


    【解决方案1】:

    有一个具有固定 id 的普通 div,在这个 div 内部有一个计算文本,它将计算“保存按钮”的 clientsideid 并将其返回到 div 中

    并使用此客户端 js 代码进行实际点击

    var id=iframe.document.getElementById("button").innerHTML

    var button=iframe.document.getElementById(id)

    button.click()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-03
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      相关资源
      最近更新 更多