首页 > 解决方案 > xpage:document1 未定义

问题描述

在我拥有的 xpage 的源代码中,就在打开视图标记之后...以下内容:

<xp:this.data>
    <xp:dominoDocument
        formName="myform"
        var="document1"
    </xp:this.data>

我需要能够为各种功能提取任何字段的值。在“服务器 JavaScript”库中,我有这个功能,作为测试:

function testThis(){
    debugger;
    var mystring = document1.getElementById("#{id:employeeTitle}");
    console.log(mystring);

(...期望元素中的所有内容都记录在控制台中。)

您可以看到我将 XPage 绑定到变量名为“document1”的 DominoDocument。

该函数通过一个按钮调用,并为调试器停止......所以我可以单步执行它。

在 Firefox 调试器中,它是“在异常时暂停”,它表示:

ReferenceError: document1 is not defined

我确信这只是盯着我看的简单事物,但我就是不明白。有任何想法吗?

谢谢你。

标签: xpages

解决方案


我认为您正在混淆服务器端 JS 和客户端。Firefox 调试器只知道客户端调试(即在浏览器中执行的代码)。对于调试服务器端 JS,我建议您可以在打开的 NTF 中找到调试工具栏插件。https://www.openntf.org/main.nsf/project.xsp?r=project/XPage%20Debug%20Toolbar

您还可以使用 _dump 写入服务器日志,请参阅https://xcellerant.net/2014/10/15/using_dump_to_write_to_server_console/

最后,在您的代码中注意,如果是 SSJS,您将使用 document1.getItemValueString("whatever") 来访问文档值。文档对象的类型为 NotesXSPDocument。请参阅https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/reference/r_wpdr_xsp_xspdocument_r.html


推荐阅读