Xpages 在xpage中使用对话框而不使用extlib或dojo

Xpages 在xpage中使用对话框而不使用extlib或dojo,xpages,Xpages,我是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

我是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>

X
服务中断
*
标题:
*
说明:
*
受影响的地点:
*
停机日期:

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

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

有人能帮助像我这样的新手理解我做错了什么吗

我最初遵循的是oneuiv2.1文档,而现在则遵循社区中其他人的建议,使用dojo dijit.dialog,尽管它会抛出一个错误,但它仍能发挥作用

更新某些页面时出错。 尝试使用id==视图:_id1:_id47:_id49:对话框注册小部件,但该id已注册


我想这意味着我已经在其他地方引用了对话框id,现在只需要找到它..或者我误解了错误!因为我昨天做了很多改变,试图让事情顺利进行。也许是时候让我的步子倒退一点了

您不需要添加自己的
xp:form
标签。XPages为您执行此操作(除非您将
xp:view
上的
createForm
设置为false)。所以试着删除它,看看是否有帮助。

虽然我没有验证它,但我猜lotusDialog***类有一个显示:无。请使用浏览器中的Web开发者、Firebug或开发者工具检查此问题。 如果是,则尽管源可用,但不显示任何内容。您必须在OnClient Load Client JS事件中使用javascript切换元素,例如


document.getElementById(“#{id:dialog}”).style.display=“block”

需要更多的文档阅读

我尝试了各种各样的方法,它们都产生了一个或另一个错误,因此决定重新开始。如果我遵循oneui文档中的对话框,它就不会出现,如果我遵循dijit.dialog中的信息,对话框的格式似乎不正确,我所做的任何事情似乎都无法解决。我决定多阅读一点文档,看看是否可以解决这个问题!我要回到绘图板上,我理解你的意思,但作为一个完全的新手,需要学习更多的东西才能使这项工作发挥作用。我认为你应该感谢那些试图通过接受他们的答案来提供帮助的人,而不是选择一个对任何人都没有帮助的答案。如果你要选择你自己的答案,至少要考虑发布你的解决方案。