0

我是 xpages 的新手,正在尝试让表单显示在对话框中

这需要在编写新表单并从视图中打开一个表单时起作用

我的表单/对话框的自定义控件中有以下代码

<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
    <xp:dominoDocument var="document1" formName="fa_alert"></xp:dominoDocument>
</xp:this.data>
<xp:panel styleClass="lotusOverlay"></xp:panel>
<xp:panel styleClass="lotusDialogWrapper" id="dialog">
    <xp:panel styleClass="lotusDialogBorder">
        <xp:form styleClass="lotusDialog lotusForm2">
            <h2>
                <xp:link value="javascript:;" styleClass="lotusBtnImg lotusClose" title="close dialog">
                    <span class="lotusAltText">X</span>
                </xp:link>
                Service Outage
            </h2>
            <xp:panel styleClass="lotusDialogContent">
                <xp:panel styleClass="lotusFormBody">
                    <xp:panel styleClass="lotusFormField">
                        <label for="title">
                            <span class="lotusFormRequired">*</span>
                            Title:
                        </label>
                        <xp:panel>
                            <xp:inputText styleClass="lotusText" id="title" value="#{document1.fd_AlertSummary}"></xp:inputText>
                        </xp:panel>
                    </xp:panel>
                    <xp:panel styleClass="lotusFormField">
                        <label for="description">
                            <span class="lotusFormRequired">*</span>
                            Description:
                        </label>
                        <xp:panel>
                            <xp:inputTextarea styleClass="lotusText" id="description" rows="10" cols="20" value="#{document1.fd_AlertDescription}"></xp:inputTextarea>
                        </xp:panel>
                    </xp:panel>
                    <xp:panel styleClass="lotusFormField">
                        <label for="sites">
                            <span class="lotusFormRequired">*</span>
                            Site(s) Affected:
                        </label>
                        <xp:panel>
                            <xp:checkBoxGroup styleClass="lotusCheckbox" id="sites" value="#{document1.fd_kw_Sites}" layout="pageDirection"
                                style="width:200px">
                                <xp:selectItems>
                                    <xp:this.value><![CDATA[#{javascript:@DbColumn("","KeywordLookup",3)}]]></xp:this.value>
                                </xp:selectItems>
                            </xp:checkBoxGroup>
                        </xp:panel>
                    </xp:panel>
                    <xp:panel styleClass="lotusFormField">
                        <label for="outagedate">
                            <span class="lotusFormRequired">*</span>
                            Outage Date:
                        </label>
                        <xp:panel>
                            <xp:inputText styleClass="" id="outagedate" value="#{document1.fd_dt_DOS}">
                                <xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
                                <xp:this.converter>
                                    <xp:convertDateTime type="date" dateStyle="short"></xp:convertDateTime>
                                </xp:this.converter>
                            </xp:inputText>
                        </xp:panel>
                    </xp:panel>
                </xp:panel>
            </xp:panel>
            <xp:panel styleClass="lotusDialogFooter">
                <xp:button value="Edit" id="button1">
                    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
                        <xp:this.action>
                            <xp:changeDocumentMode mode="edit"></xp:changeDocumentMode>
                        </xp:this.action>
                    </xp:eventHandler>
                </xp:button>
                <xp:button value="Save" id="button2">
                    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
                        <xp:this.action>
                            <xp:actionGroup>
                                <xp:saveDocument></xp:saveDocument>
                                <xp:openPage name="/Home.xsp"></xp:openPage>
                            </xp:actionGroup>
                        </xp:this.action>
                    </xp:eventHandler>
                </xp:button>
                <xp:button value="Cancel" id="button3">
                    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
                        <xp:this.action>
                            <xp:openPage name="/Home.xsp"></xp:openPage>
                        </xp:this.action>
                    </xp:eventHandler>
                </xp:button>
            </xp:panel>
        </xp:form>
    </xp:panel>
</xp:panel>

但是当尝试创建一个新表单或打开一个现有表单时,只会出现一个空白页面?

如果我签入 Firefox,我的代码就在那里,但什么也没有显示!!

有人可以帮助像我这样的新手了解我做错了什么吗?

我最初关注的是 oneuiv2.1 文档,而现在我遵循了社区中其他人的建议,并使用了 dojo dijit.dialog 来代替它,尽管它会引发错误

更新部分页面时出错。尝试使用 id==view:_id1:_id47:_id49:dialog 注册小部件,但该 id 已注册

我假设这意味着我已经在其他地方引用了对话框 ID,现在只需要找到它......或者我误解了错误!因为我昨天做了很多改变,试图让事情正常进行……也许是时候回溯一下我的步骤了!

4

3 回答 3

3

您无需添加自己的xp:form标签。XPages 会为您做到这一点(除非您设置createFormxp:viewfalse)。所以尝试删除它,看看是否有帮助。

于 2013-03-06T13:18:29.053 回答
0

虽然我没有验证它我猜类lotusDialog***有一个显示:无。请在您的浏览器中使用 Web Developer、Firebug 或 Developer Tools 进行检查。如果是这样,则尽管源可用,但不会显示任何内容。您必须在 onClientLoad Client JS 事件中使用 javascript 切换元素,例如

document.getElementById('#{id:dialog}').style.display = "block"

于 2013-03-06T13:22:58.950 回答
-2

需要更多阅读文档

于 2013-03-08T11:58:06.090 回答