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のドキュメントに従っていましたが、代わりにコミュニティの他の人のアドバイスに従い、エラーをスローしますが、代わりにdojodijit.dialogを使用します。

一部のページの更新中にエラーが発生しました。ウィジェットをid==view:_id1:_id47:_id49:dialogに登録しようとしましたが、そのIDはすでに登録されています

これは、ダイアログIDを別の場所で参照していて、それを見つける必要があることを意味していると思います。または、エラーを誤解していますか。昨日は物事をうまく機能させるためにたくさんの変更を加えていたので、少し前に戻る時間かもしれません!

4

3 に答える 3

3

xp:form独自のタグを追加する必要はありません。XPagesはあなたのためにそれを行います(あなたがfalseに設定createFormしない限り)。xp:viewそれで、それを削除してみて、それが役立つかどうかを確認してください。

于 2013-03-06T13:18:29.053 に答える
0

私はそれを確認しませんでしたが、クラスlotusDialog ***にはdisplay:noneがあると思います。ブラウザのWebDeveloper、Firebug、またはDeveloperToolsでこれを確認してください。その場合、ソースは利用可能ですが、何も表示されません。onClientLoadクライアントJSイベントでjavascriptを使用して要素を切り替える必要があります。例:

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

于 2013-03-06T13:22:58.950 に答える
-2

ドキュメントの詳細を読む必要があります

于 2013-03-08T11:58:06.090 に答える