2016-04-07 6 views
0

Ich möchte einen Aktionsdialog für einen Benutzer öffnen, um eine Auswahl zu treffen. Die Seite selbst befindet sich im Lesemodus. Aber ja, Dialog hat und Eingabefeld. Ich möchte den Dialog "Formularwiederherstellung bestätigen" unterdrücken, wenn der Benutzer die Seite neu lädt. Hier ist meine Xpage:Unterdrücken Dialog "Formularwiederherstellung bestätigen"

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    enableModifiedFlag="false" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
    <xp:button value="Label" id="button1"> 
     <xp:eventHandler event="onclick" submit="true" 
      refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action> 
     </xp:eventHandler> 
    </xp:button> 
    <xp:br></xp:br> 
    <xp:br></xp:br> 
    <xe:dialog id="dialog1"> 
     <xe:dialogContent id="dialogContent1"> 
      <xp:inputText id="inputText1" style="width:654.0px"></xp:inputText> 
     </xe:dialogContent> 
     <xe:dialogButtonBar id="dialogButtonBar1"> 
      <xp:button value="OK" id="button2"> 
       <xp:eventHandler event="onclick" submit="false"> 
        <xp:this.script><![CDATA[XSP.closeDialog("#{id:dialog1}");]]></xp:this.script> 
       </xp:eventHandler> 
      </xp:button> 
     </xe:dialogButtonBar> 
    </xe:dialog> 
</xp:view> 
+0

Ist das die volle komplette XML Markup der XPage oder nur ein Auszug? Ist die XPage mit einem Dokument verknüpft? Wie öffnest du die XPage? –

+0

Dies ist vollständige vollständige XML ... es ist nicht mit jedem Dokument verbunden .. und es ist als normal geöffnet xPage .. ... com/mypage.xsp – VladP

+0

erhalten inspiriert durch post/redirect/get pattern. einfach umleiten, um die URL nach dem Dialog zu "holen". Diese Seite fordert nicht zur erneuten Übermittlung auf. hüte dich von Zurück-Taste, das ist eine andere Geschichte –

Antwort

0

Es ist ein bisschen hässlich, aber man kann die ganze XPage Nachladen nach dem Schließen des Dialogs durch eine serverseitige JavaScript-Zugabe - zusätzlich zu der Client-Seite JS, die den Dialog geschlossen wird. Ich gehe davon aus, dass Sie mehr Code und Logik im Dialog enthalten werden, so dass Sie sicherstellen müssen, dass diese auch ausgeführt werden ... Der Code für die Schließen-Schaltfläche könnte wie folgt aussehen:

 <?xml version="1.0" encoding="UTF-8"?> 
     <xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
enableModifiedFlag="false" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
<xp:button value="Label" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
<xp:br></xp:br> 
<xp:br></xp:br> 
<xe:dialog id="dialog1"> 
    <xe:dialogContent id="dialogContent1"> 
     <xp:inputText id="inputText1" style="width:654.0px"></xp:inputText> 
    </xe:dialogContent> 
    <xe:dialogButtonBar id="dialogButtonBar1"> 
     <xp:button value="OK" id="button2"> 
      <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
       <xp:this.script><![CDATA[XSP.closeDialog("#{id:dialog1}");]]></xp:this.script> 
       <xp:this.action><![CDATA[#{javascript:context.reloadPage()}]]></xp:this.action> 
      </xp:eventHandler> 
     </xp:button> 
    </xe:dialogButtonBar> 
</xe:dialog> 
</xp:view> 
+0

es funktioniert nicht .. Sobald ich auf OK klicken und Dialog zu schließen und versuchen, Seite neu zu laden bringt es "Confirm Form Resubmission" Dialog – VladP

+0

können Sie sehen, dass die Seite wirklich neu lädt, wenn Sie die schließen Dialog? –

+0

zum besseren Verständnis habe ich die vollständige XML Markup meiner Seite –