2016-04-07 26 views
0

Bazı kullanıcıların seçim yapması için bazı eylem diyalogu açmak istiyorum. Sayfa kendisi okuma modunda. Ama evet, diyalog var ve giriş alanı. Kullanıcı sayfayı yeniden yüklediğinde Form Yeniden Gönderme onaylama onay kutusunu bastırmak istiyorum. İşte benim XPage geçerli:Bastırmayı Onayla Form Yeniden Gönderme iletişim kutusu

<?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

bu tam eksiksiz bir XML mı XPage işaretlemesi mi yoksa sadece bir ekstrak mı? XPage bir belge ile ilişkili mi? XPage'i nasıl açıyorsunuz? –

+0

Bu tam XML içeriğidir ... herhangi bir belge ile ilişkili değildir .. ve normal xPage olarak açılır .. ... com/mypage.xsp – VladP

+0

post/redirect/get deseninden ilham alırsınız. basitçe, diyalogdan sonra "al" URL'sine yönlendirin. Bu sayfa yeniden gönderilmeyi istemez. geri düğmesi dikkat, bu başka bir hikaye –

cevap

0

Biraz çirkin, ama bir sunucu tarafı JavaScript ekleyerek iletişim kapattıktan sonra bütün XPage yeniden yükleyebilirsiniz - diyaloğu kapatır istemci tarafı JS ek olarak. Bunu kapatma düğmesi için kod aşağıdaki gibi görünebilir ... çok çalıştırılır sağlamak zorunda böylece iletişim fazla kod ve mantığı içerecektir varsayalım:

 <?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

işe yaramazsa ... Tamam düğmesini tıklatıp diyaloğu kapatıp sayfayı yeniden yüklemeyi denedim "Form Yeniden Gönderme Onayı" diyaloğunu getiriyor – VladP

+0

sayfanın kapanışında sayfanın gerçekten yeniden yüklendiğini görebilirsiniz iletişim? –

+0

Daha iyi anlamak için sayfamın tam XML biçimlendirmesini gönderdim –

İlgili konular