javascript - 使用纯 JS 从外部提交 Lotus Notes XPage 表单

标签 javascript forms iframe xpages

我有一个简单的 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 按钮?我能否以编程方式触发对该按钮的点击,这与人类实际点击无关,除了人类?

最佳答案

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

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

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

var 按钮=iframe.document.getElementById(id)

按钮.点击()

关于javascript - 使用纯 JS 从外部提交 Lotus Notes XPage 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27529615/

相关文章:

html - z-index 不适用于 <input>

jquery - 如何使用 Bootstrap 下拉菜单作为 HTML 表单 <select>

html - iframe src 属性动态地作为 URL Angular2

javascript - 防止 iFrame 重定向到 src url 以外的 url

javascript - 使用纯 JavaScript 获取数组的重复项

javascript - jQuery FLOT图表动态Y轴

javascript - 在 HTML 按钮上单击运行 python 文件 (Django)

forms - 图像上的表单字段

javascript - Iframe 中的图像模糊 - 使用 CSS 或 JS 修复?

javascript - 将输入值设置为 Javascript 变量