我是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注册widget:_id1:_id47:_id49:dialog但该id已经注册
我假设这意味着我已经在其他地方引用了对话框ID,现在只需要找到..或者我误解了错误!因为我昨天做了很多改变,试图让事情发挥作用......可能是时候回溯一下我的步骤了!
答案 0 :(得分:3)
您无需添加自己的xp:form
标记。 XPages会为您执行此操作(除非您将createForm
上的xp:view
设置为false)。所以尝试删除它,看看是否有帮助。
答案 1 :(得分:0)
虽然我没有验证它,但我认为类lotusdialog ***有一个显示:无。请在浏览器中使用Web Developer,Firebug或Developer Tools进行检查。 如果是这样,那么虽然源可用,但不显示任何内容。您必须在onClientLoad Client JS事件中使用javascript切换元素,例如
document.getElementById('#{id:dialog}')。style.display =“block”
答案 2 :(得分:-2)
需要更多文档阅读